如何通过GitHub API访问私有存储库?

时间:2020-01-20 19:23:02

标签: node.js github-api

根据文档,我可以这样访问一个公共存储库:

GET /repos/:owner/:repo

但是我如何访问私人仓库?

我创建了一个令牌,该令牌可以访问我的所有存储库,并将其添加到标题中,但是问题仍然存在。

我的代码:

const https = require('https');
const oAuth = require('oauth');

const owner = '<owner>';
const repo = '<repo>';
let data = '';

const options = {
  host: 'api.github.com',
  path: '/repos/' + owner + '/' + repo,
  method: 'GET',
  headers: { 

    'user-agent': '<myGitHubAccount>',
    'authorization': 'token <token>'

  }
};

const request = https.request(options, function (response) {
  var body = '';
  response.on("data", function (chunk) {
    body += chunk.toString('utf8');
  });

  response.on("end", function () {
    console.log(body);
  });
});

request.end();

控制台:

{"message":"Not Found","documentation_url":"https://developer.github.com/v3/repos/#get"}

谢谢。

1 个答案:

答案 0 :(得分:2)

首先检查使用的令牌是否为带有OAuth tokenright scope

例如,范围“ repo”授予了对私有和公共存储库的完全访问权限。