GitHub API-“获取内容”持续返回404以获取有效路径

时间:2019-12-27 19:55:00

标签: node.js github-api node-request probot

我正在使用probot => https://probot.github.io/

我一直在开发GitHub应用程序,该应用程序分析存储库中的特定.json文件以更改日期字符串。 我通过订阅push事件并用webhook观看事件来做到这一点。

我在Node中使用request。我遇到的问题是,在挂接运行时,我不断收到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
      })
  })

以前,我没有包括一个user-agent头文件,该头文件会不断返回一个403-GitHub的api指定必须传递一个头文件。完成此操作后,我现在不断获得此404

1 个答案:

答案 0 :(得分:1)

出现404错误的可能原因:

  • 存储库是私有的,您无权访问(这需要标题from sqlalchemy import create_engine engine = create_engine('mssql+pyodbc://**server**/**db**?driver=SQL+Server+Native+Client+11.0') cursor = engine.raw_connection().cursor() lte_details.to_sql(file_basename.lower(), con=engine.connect(), if_exists='replace')
  • JSON响应(自the default answer is a JSON with the file contents encoded in base64起)超过1MB。 Get Contents API确实提到“此API支持最大1 MB的文件。”
    使用标头“ file_basename, extension = tuple(file.split('.')) ”将为您提供原始内容。