Использование аутентификации GitHub для просмотра приватных репозиториев без использования GitHub API

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

Предположим, что URL, к которому я хочу получить доступ,

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

1 ответ

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

https://developer.github.com/v3/pulls/

Вы можете пройти в 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 за поддержку!

Другие вопросы по тегам