从私人 github 存储库下载已发布的资产

Bas*_*scy 5 github github-api

我正在尝试从私有存储库中的版本下载单个添加的资产,但我得到的只是 404 响应。资产的下载网址是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>
Run Code Online (Sandbox Code Playgroud)

可以从发行版下载源代码 (zip),但这有一个不同的 url:https://github.com/<user>/<repo>/archive/refs/tags/20211022.zip

我究竟做错了什么?

小智 5

正如本文档所述。

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

[1]:

  • 谢谢,Accept 标头成功了! (2认同)
  • 仅供参考:每个人都应该记住该端点可以重定向。Location 标头将随新位置一起返回。确保您遵循重定向。 (2认同)