5 ответов:
Вместо этого следует использовать oauth: http://developer.github.com/v3/oauth/
Если у вас есть только логин и пароль, вы можете использовать их с помощью basic auth. Прежде всего, проверьте, показывает ли этот код данные JSON желаемого РЕПО. Имя пользователя и пароль должны быть разделены двоеточием.
curl -u "user:pwd" https://api.github.com/repos/user/repoВ случае успеха вам следует рассмотреть возможность выполнения этого запроса из кода.
import urllib2 import json from StringIO import StringIO import base64 username = "[email protected]" password = "naked_password" req = urllib2.Request("https://api.github.com/repos/user/repo") req.add_header("Authorization", "Basic " + base64.urlsafe_b64encode("%s:%s" % (username, password))) req.add_header("Content-Type", "application/json") req.add_header("Accept", "application/json") res = urllib2.urlopen(req) data = res.read() repository = json.load(StringIO(data))
Пользователи Github могут создаватьличные токены доступа в своихнастройках приложения . Вы можете использовать этот маркер в качестве альтернативы имени пользователя / пароля в базовой аутентификации http для вызова API или для доступа к частным репозиториям на веб-сайте github.
Просто используйте клиент, поддерживающий базовую аутентификацию http. Установите имя пользователя равным токену, а пароль равным
x-oauth-basic. Например, с помощью curl:curl -u <token>:x-oauth-basic https://api.github.com/userСм. также https://developer.github.com/v3/auth/.
Отправить запрос POST в
/authorizationsС заголовками
Content-Type: application/json Accept: application/json Authorization: Basic base64encode(<username>:<password>)Но не забудьте иметь в виду двухфакторную аутентификацию https://developer.github.com/v3/auth/#working-with-two-factor-authentication
Здесь вы получите токен, который может быть использован для дальнейшего запроса
Следуйте этому руководству на help.github.com в нем описывается, как найти свой api-токен (он находится в разделе "Настройки учетной записи" > "Администратор учетной записи") и настроить git так, чтобы он использовал токен.
Comments