通过url下载github版本给出404未找到

问题描述 投票:0回答:4

我正在尝试使用从 github API 获得的 browser_download_url 下载私有存储库版本,但该 URL 给了我 404 Not Found,我正确设置了身份验证:令牌 但仍然收到 404。

存储库来自我的组织,如果有用的话,我正在使用该存储库的只读服务帐户。

Here is a postman image with my configuration

使用我的浏览器我可以很好地下载文件。

有人知道发生什么事吗?

git http github header authorization
4个回答
2
投票

您可能不想使用

browser_download_url
字段。该端点旨在处理具有会话 cookie 设置的浏览器中的用户,并且您的 API 请求将不会正确配置。出于安全原因,使用 cookie 处理用户请求的端点和处理编程请求的端点通常是不同的,并且使用不同的身份验证。

要下载发布资产,请使用

url
字段,该字段通过 API 并应适当处理事情。您的令牌需要具有适当的范围(我相信
repo
),并且如果您的组织正在使用SSO,则启用SSO,并且您还需要将
Accept
标头设置为
application/octet-stream 
(看起来您已经在这样做)并处理发生的任何重定向。


1
投票

对于遇到这些问题的其他人,我的解决方案是从我使用的编程语言(Python)添加应用程序/八位字节流标头,由于某种原因它无法从邮递员中工作,您将得到一个无效的媒体类型标头。


1
投票

对我来说问题是实际的令牌。即使资源存在,Github API如果认证失败也会返回404(为了不泄露信息)

我的问题是,我认为具有

read
访问权限的令牌就足够了。但是,要下载版本,您还需要
write
访问权限。


0
投票

也遇到了同样的问题,我确实拥有完全授予访问权限的 PAT 令牌,然后我尝试从这里下载 json latest.json

但是一直打404确实有:

Accept: application/octet-stream
Authorization: Bearer {PAT}

但不确定可能出了什么问题,也尝试过:

Accept: application/vnd.api+json

还是404

© www.soinside.com 2019 - 2024. All rights reserved.