【问题标题】:Download released asset from private github repo从私有 github repo 下载已发布的资产
【发布时间】:2022-11-04 04:20:51
【问题描述】:

我正在尝试从私有存储库中的版本下载单个添加的资产,但我得到的只是 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>

我能够从发行版下载源代码 (zip),但这有不同的 url:https://github.com/&lt;user&gt;/&lt;repo&gt;/archive/refs/tags/20211022.zip

我究竟做错了什么?

【问题讨论】:

    标签: github github-api


    【解决方案1】:

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

    【讨论】:

    • 谢谢, Accept 标头成功了!
    【解决方案2】:

    另一种方法是使用GitHub CLI gh 和命令gh release download。

    由于gh 2.19.0 (Nov. 2022),您可以使用gh release download --output 下载单个资产(在gh auth login 之后,用于身份验证):

    在你的情况下:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-01
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      • 2016-02-19
      相关资源
      最近更新 更多