我使用GitHub API使用Authorization
标头访问私有存储库。这非常有效。但是,我无法看到存储库,即发送存储库网页的GET请求。
假设我要访问的网址是
url = 'https://github.com/username/repo'
这是我私人存储库的链接。我有
headers = {'Authorization': 'token mygithubtoken'}
auth = {'myusername', 'mypassword')
我发送的请求如下
>>> res = requests.get(url, auth=auth, headers=headers)
>>> print(res.status_code)
404
我想这样做是因为拉取请求的差异也无法通过这种方式访问,位于https://github.com/user/repo/pull/pr_no.diff
答案 0 :(得分:2)
我联系了GitHub支持,他们回答了这个问题。我们无法使用OAuth令牌访问该网站。但是,差异可以通过API获得:
https://developer.github.com/v3/pulls/#get-a-single-pull-request
您可以传递application/vnd.github.VERSION.diff
媒体类型来获取差异。这样就可以了。
url = https://api.github.com/repos/:owner/:repo/pulls/:number
和
headers = {
'Authorization': 'token mygithubtoken',
'Accept': 'application/vnd.github.VERSION.diff',
}
感谢GitHub对此的支持!