2011-06-16 200 views

回答

3

您應該使用OAuth來代替:http://developer.github.com/v3/oauth/

+1

我有一種感覺,他們已經改變了auth頁面,他們似乎不再列出使用Autherization:b asic Base64(用戶名:密碼)標題 – WORMSS 2014-07-11 15:40:57

0

跟着this指南在help.github.com。它描述瞭如何找到你的API令牌(它在「賬戶設置」>「賬戶管理」下)並配置git使其使用令牌。

6

一旦你只登錄名和密碼就可以使用基本身份驗證使用它們。首先,檢查這段代碼是否顯示了你想要的repo的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)) 
2

Github上的用戶可以在他們application settings創建個人訪問令牌。您可以使用此令牌作爲基本http身份驗證中用戶名/密碼的替代方式,以調用API或訪問github網站上的私人存儲庫。

只需使用支持基本http認證的客戶端即可。設置用戶名等於令牌,密碼等於x-oauth-basic。例如捲曲:

curl -u <token>:x-oauth-basic https://api.github.com/user 

另請參閱https://developer.github.com/v3/auth/

相關問題