Node.js GitHub API-”的;“获取内容”;持续返回404以获取有效路径

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

我正在使用probot=>

我一直在开发一个GitHub应用程序,该应用程序分析repo中的特定
.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
    ”将为您提供原始内容

GitHub应用程序是否具有特定的身份验证令牌?或者我需要发送当前用户的身份验证令牌吗?用户令牌或您自己的令牌就足够了。它肯定是一个私有的repo,应用程序安装在该repo上。我希望应用程序能够通过身份验证来执行
get content
调用。但是,我不知道如何获取应用程序的身份验证令牌。我应该注意,我正在使用probot。任何有权访问私有存储库的合作者的任何Pat(个人访问令牌)都可以。