2017-02-18 2 views
1

Ich habe die GitHub-API für den Zugriff auf private Repositorys mit dem Header Authorization verwendet. Das funktioniert sehr gut. Aber ich kann das Repository nicht sehen, d. H. Eine GET-Anfrage für die Repository-Webseite senden.Verwenden der GitHub-Authentifizierung zum Anzeigen privater Repositorys ohne Verwendung der GitHub-API

Angenommen, die URL ich zugreifen möchten

url = 'https://github.com/username/repo' 

ist, die der Link zu meinem privaten Repository ist. Und ich habe

headers = {'Authorization': 'token mygithubtoken'} 
auth = {'myusername', 'mypassword') 

ich eine GET-Anfrage sende folgend

>>> res = requests.get(url, auth=auth, headers=headers) 

>>> print(res.status_code) 
404 

Ich möchte, dies zu tun, weil der Unterschied eines Pull-Anforderung ist auch nicht zugänglich auf diese Weise die bei https://github.com/user/repo/pull/pr_no.diff befindet

Antwort

2

Ich kontaktierte GitHub Unterstützung und sie beantworteten es. Wir können keine OAuth-Token für den Zugriff auf die Website verwenden. Allerdings diffs sind über die API verfügbar:

https://developer.github.com/v3/pulls/#get-a-single-pull-request

Sie in der application/vnd.github.VERSION.diff Medientyp passieren können die diff zu erhalten. Also das wäre meine

url = https://api.github.com/repos/:owner/:repo/pulls/:number 

und

headers = { 
    'Authorization': 'token mygithubtoken', 
    'Accept': 'application/vnd.github.VERSION.diff', 
} 

Dank GitHub Unterstützung für diese machen!

Verwandte Themen