git 404 Not Found 404 Not Found

k7fdbhmy  于 2023-05-21  发布在  Git
关注(0)|答案(3)|浏览(135)

我试图使用github API中的browser_download_url下载一个私有仓库版本,但URL显示为404 Not Found,我设置了身份验证:token<my_token>正确,但我仍然得到404。
仓库来自我的组织,如果仓库有用的话,我将使用只读服务帐户。
Here is a postman image with my configuration
使用我的浏览器我可以下载文件刚刚好。
有人知道发生了什么吗?

rggaifut

rggaifut1#

您可能不想使用browser_download_url字段。该端点被设计为在设置了会话cookie的浏览器中处理用户,并且您的API请求将不会被正确配置。出于安全原因,使用cookie处理用户请求的端点和处理编程请求的端点通常是不同的,并且使用不同的身份验证。
要下载发布资产,请使用url字段,该字段通过API,应该可以适当地处理事情。您的令牌将需要具有适当的范围(我相信 * 是repo),并且如果您的组织正在使用SSO,则启用SSO,并且您还需要将Accept标头设置为application/octet-stream(看起来您已经这样做了)并处理发生的任何重定向。

1cklez4t

1cklez4t2#

对于其他有这些问题的人,我的解决方案是从我使用的编程语言(Python)中添加application/octet-stream头,由于某种原因,它在postman中不起作用,您将获得无效的媒体类型头。

yduiuuwa

yduiuuwa3#

对我来说,问题是实际的令牌。如果认证失败,即使资源存在,Github API也会返回404(为了不泄露信息)
我的问题是,我认为一个具有read访问权限的令牌就足够了。但是,要下载发行版,您还需要write访问权限。

相关问题