我在github上有一个私人回购,属于一个组织。对于给定的拉取请求,有一个像这样的差异文件的URL:
https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff
但是repo是私有的,那么如何用curl下载这个文件呢?我生成了一个&#34;个人访问令牌&#34;,但是对于如何使用它有点迷失。
我试过了:
curl -H 'Authorization: token <TOKEN>' -H 'Accept: application/vnd.github.v3.raw' -O -L "https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff"
但发回的所有内容都是&#34; Not Found&#34;。
答案 0 :(得分:8)
您可以使用api.github.com中具有不同接受内容类型的pull request url。 e.g。
componentDidUpdate
注意:请从网址中删除“.diff”后缀。
答案 1 :(得分:0)
Github API为所有未经授权的请求返回404 - 主要是为了隐藏在请求的URL处存在/不存在用户/组织数据。所以404你回来的可能实际上是401。
通过curl向GH api发送请求时,您应该使用u
选项发送令牌而不是Authorization
标头,从而产生以下请求:
curl -u <USERNAME>:<TOKEN> \
-H 'Accept: application/vnd.github.v3.raw' -O -L \
"https://github.com/<ORG>/<REPO>/pull/<PR_NUMBER>.diff"