向Github API发送Post请求以创build问题不起作用

在过去的几天里,我一直在尝试向github api发出这个请求,但不幸的是,这个响应回来的时候是“坏消息”

这里是我们在发送请求中使用https请求在节点中发送的代码段 –

这是发布数据

var issueData = JSON.stringify({ "title":title, "body":comment }); 

这是选项文件

 var options = { host: 'api.github.com', path: '/repos/sohilpandya/katasohil/issues?access_token='+sessions.token, headers: { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0', }, method: 'POST' }; 

这是https请求

 var requestaddIssue = https.request(options, function(responseFromIssues){ responseFromIssues.setEncoding('utf8'); responseFromIssues.on('data', function(chunk){ console.log('>>>>chunk>>>>>',chunk); issueBody += chunk; }); responseFromIssues.on('end',function(issueBody){ console.log(issueBody); }); }); requestaddIssue.write(issueData); requestaddIssue.end(); 

我已经尝试了另一种方法,其中用户的身份validation令牌位于标头中

 'Authentication': 'OAuth '+ sessions.token (where we are storing token inside sessions) 

但是块响应似乎总是在控制台日志中回来。

 { "message": "Not Found", "documentation_url": "https://developer.github.com/v3/issues/#create-an-issue" } 

我已经在apigee中尝试过,似乎工作正常,并返回正确的响应。 希望有人可以在上面的代码中find导致这个错误消息错误的小错误。

除了您发布的代码片段中未定义issueBodyvariables,代码是正确的。 我尝试使用个人访问令牌 。

出现错误是因为您需要添加一个能够打开问题的范围 。

我试过repopublic_repo范围,他们都在工作。 请注意, repo有权访问私人存储库。 在这里你可以看到范围列表 。

如果您使用OAuth,那么您应该有一个像这样的url:

https://github.com/login/oauth/authorize?client_id=<client-id>&scope=public_repo&redirect_uri=<redirect-uri>