2017-02-18 10 views
1

Я использовал API GitHub для доступа к приватным репозиториям с использованием заголовка Authorization. Это работает очень хорошо. Но я не могу увидеть репозиторий, то есть отправить запрос GET для веб-страницы репозитория.Использование аутентификации GitHub для просмотра частных репозиториев без использования API GitHub

Пусть URL Я хочу, чтобы получить доступ в

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

, который является ссылкой на мой личный репозиторий. И у меня есть

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

Я посылаю запрос GET следующим

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

>>> print(res.status_code) 
404 

Я хочу, чтобы это сделать, потому что дифференциал запроса тянуть тоже не доступен этот способ, который расположен в https://github.com/user/repo/pull/pr_no.diff

ответ

2

Я связался с поддержкой GitHub, и они ответили на него. Мы не можем использовать токены OAuth для доступа к веб-сайту. Тем не менее, дифференциалы доступны через API:

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

вы можете передать в типе application/vnd.github.VERSION.diff СМИ, чтобы получить диф. Так что бы сделать мой

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

Спасибо поддержку

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

и

GitHub для этого!