Node.js GitHub API-”的;“获取内容”;持续返回404以获取有效路径
我正在使用probot=> 我一直在开发一个GitHub应用程序,该应用程序分析repo中的特定Node.js GitHub API-”的;“获取内容”;持续返回404以获取有效路径,node.js,github-api,node-request,probot,Node.js,Github Api,Node Request,Probot,我正在使用probot=> 我一直在开发一个GitHub应用程序,该应用程序分析repo中的特定.json文件,以查看对日期字符串的更改。 我通过订阅push事件并使用webhook观看它来实现这一点 我正在节点中使用请求。我遇到的问题是,当钩子运行时,我会不断收到404。我的代码如下所示: app.on('push', async context => { let repoOwner = context.payload.repository.owner.name; let
.json
文件,以查看对日期字符串的更改。
我通过订阅push
事件并使用webhook
观看它来实现这一点
我正在节点中使用请求
。我遇到的问题是,当钩子运行时,我会不断收到404
。我的代码如下所示:
app.on('push', async context => {
let repoOwner = context.payload.repository.owner.name;
let repoName = context.payload.repository.name;
const options = {
url: `https://api.github.com/repos/${repoOwner}/${repoName}/contents/file.json`,
headers: { 'User-Agent': 'request' }
}
request.get(options, (error, response, body) => {
console.log(body) // logs {message: 'Not Found', documentation_url:... etc
})
})
以前我没有包含一个不断返回
403
的user-agent
头,GitHub的api指定必须传递头。完成此操作后,我现在不断得到404的可能原因:
- 存储库是私有的,您无权访问(这需要一个标题
)“Authorization:token$token”
- JSON响应(自)超过1MB。确实提到“此API支持最大为1 MB的文件。”
使用标题“
”将为您提供原始内容Accept:application/vnd.github.3.raw
get content
调用。但是,我不知道如何获取应用程序的身份验证令牌。我应该注意,我正在使用probot。任何有权访问私有存储库的合作者的任何Pat(个人访问令牌)都可以。