问题:需要下载GitHub Enterprise上托管的组织内的私有存储库。
我为我的帐户创建了范围为repo
的个人访问令牌,并将其存储为环境变量GITHUB_ACCESS_TOKEN
。
我在NodeJS
库中使用request
来发出GET
请求。但是,使用以下代码,我在运行时会收到一个401
响应。
(注意:我将<repo-name>
替换为存储库的实际名称)。
有人可以解释为什么这行不通并指向正确的方向吗?
我的功能:
function downloadRepository(owner, repository, branch, accessToken) {
let options = {
method: "GET",
url: `https://api.github.com/orgs/${owner.toLowerCase()}/repos/${repository.toLowerCase()}/tarball/${branch}?access_token=${accessToken}`,
headers: {
'Accept': 'application/vnd.github.v3.raw',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
}
};
request(options, (error, response, body) => {
if(error || response.statusCode != 200) {
console.log("Could not download repository: %s", response.statusCode);
return;
}
return body;
});
}
我的主频道:
const request = require('request');
let wiki = downloadRepository("deep-learning-platform", "<repo-name>", "wiki",
process.env.GITHUB_ACCESS_TOKEN);