我使用NodeJS和GitHub API模块尝试使用zipball_url
属性以编程方式获取github发布URL,然后在本地保存.zip文件。
点击GitHub API提供的URL无法正确保存.zip文件,尽管GitHub UI URL中的硬编码(取自发布选项卡)可以正常工作。
作为旁注,GitHub API会提到being able to get the latest release,但这会回复“未找到”。
代码I使用
github.releases.getRelease({
owner: 'my-username',
repo: 'my-repo-name',
id: '1337' //release number
}, function(err, data) {
if(err) console.error(data);
//data.zipball_url is the release zip URL
})
稍后在代码中
request(data.zipball_url)
.pipe(fs.createWriteStream(ZIP_FILE_LOCATION))
.on('close', function() {
resolve();
});
返回的URL是重定向,默认情况下会发出请求。我究竟做错了什么?帮助赞赏
API会返回一个不起作用的网址,例如(创建零字节zip):
https://api.github.com/repos/my-username/my-repo-name/zipball/release-tag
虽然GitHub UI使用了可行的URL:
https://github.com/my-username/my-repo-name/archive/release-tag.zip