2012-01-03 85 views
0

我一直在使用Tweepy進行OAuth和Twitter API調用。出於一大堆原因,我切換到urllib並直接發出HTTP請求。通過HTTP與Twitter的OAuth

看來有兩種選擇:

  • 我可以做的OAuth直接通過HTTP,但現有的資源似乎要麼說「不要打擾,只用一個圖書館」,或者不包括一半的過程。
  • 我可以繼續使用Tweepy獲取密鑰/密鑰對,但從那裏我仍不清楚如何使用該密鑰對來驗證我的查詢。具體來說,假設我已完成OAuth流程併爲用戶I提供密鑰/祕密,那麼在「https://api.twitter.com/1/statuses/home_timeline.json」進行身份驗證之前我需要做些什麼想。

回答

2

爲什麼不使用更通用的oauth庫(如oauth2),而不是完全拋出oauth認證庫的想法?

https://github.com/simplegeo/python-oauth2

簽署了OAuth的請求意味着要麼自己實現的簽名功能爲每個請求或使用現有的庫 - 和創建Oauth簽名是相當複雜和容易斷裂。作爲支持OAuth的API幾年的人,我強烈建議您使用庫。

oauth2庫有一個獲取twitter的令牌/祕密的例子。

一旦你得到了令牌和祕密的OAuth的庫很簡單,只要:

consumer = oauth.Consumer(consumer_key, consumer_secret) 
token = oauth.Token(token,secret) 
client = oauth.Client(consumer,token) 
response = make_request(client,"https://api.twitter.com/1/statuses/home_timeline.json") 
+0

真棒,這是真正有用的。但是,我很難找到獲取您引用的令牌的示例。它在GitHub中,並且你有鏈接嗎? – xanderflood 2012-01-04 00:44:48

+0

另外,make_request函數在哪裏?我似乎無法在任何地方在OAuth2代碼中找到它。 – xanderflood 2012-01-04 01:21:35

+0

如果您訪問python-oauth2的github存儲庫,請在該頁面(在自述文件中,在主文檔中)查找「Twitter三腳OAuth示例」。這應該會讓你走 - 這是我們用作LinkedIn Python令牌文檔基礎的示例。 – 2012-01-04 16:17:36