从私人github回购下载已发行资产



我正试图从私人存储库中的发布中下载一个添加的资产,但得到的只是404响应。资产的下载url是https://github.com/<user>/<repo>/releases/download/20211022/file.json

我尝试了几种不同的方法来指定用户名和私有访问令牌,但都给出了相同的结果。当我使用访问令牌访问api.github.com时,它似乎可以工作。

我在curl 中尝试了以下格式

curl -i -u <user>:<token> <url>
curl -i "https://<user>:<token>@github.com/ ...."
curl -i -H "Authorization: token <token>" <url>

我可以下载该版本的源代码(zip(,但它有一个不同的url:https://github.com/<user>/<repo>/archive/refs/tags/20211022.zip

我做错了什么?

如本文档所述。

您必须使用url: /repos/{owner}/{repo}/releases/assets/{asset_id}而不是browser_download_url,并设置请求标头以接受application/octet-stream下载
并且不要忘记添加Authorization标头。

[1] :

另一种选择是使用GitHub CLIgh和命令gh release download

gh2.19.0(2022年11月(起,您可以使用gh release download --output下载单个资产(在gh auth login之后,用于身份验证(:

在您的情况下:

gh release download --pattern 'file.json' --output file.json

最新更新