簡體   English   中英

通過Twitter API與Python進行oAuth驗證

[英]oAuth verification for using Twitter API with Python

我試圖按此處所述獲取Twitter的oauth request_token,並調用“ oauth / request_token”: https : //dev.twitter.com/docs/auth/implementing-sign-twitter

我在這里使用encode_params函數生成參數: https : //github.com/sixohsix/twitter/blob/master/twitter/oauth.py

然后,我將返回的字符串包裝在字典中,並使用鍵“授權”將其轉儲到使用python請求庫制作的Post請求的標頭中。 這是我用來創建請求的兩行。

ep = "OAuth " + auth.encode_params(baseUrl, method, params)
response = requests.post(baseUrl+method, headers={ "Authorization" : ep})

最終標頭如下所示(consumer_key已修改):

{'Accept': '*/*',
 'Accept-Encoding': 'gzip, deflate, compress',
 'Authorization': 'OAuth oauth_callback=http%253A%252F%252Fec2-54-244-189-248.us-west-2.compute.amazonaws.com%252Fct%252Ftwitter_login_handler%252F&oauth_consumer_key=xxx&oauth_nonce=14937468581358710045&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1366568033&oauth_version=1.0&oauth_signature=kiYucZzPY%2FXy2WyJliJ6YcggVzQ%3D',
 'Content-Length': '0',
 'User-Agent': 'python-requests/1.2.0 CPython/2.7.3 Linux/3.5.0-21-generic'}

但是,我仍然收到401響應,內容為:“無法驗證oauth簽名和令牌”

知道我在做什么錯嗎? 任何幫助將不勝感激。

我無法說出您引用的腳本,但是如果您願意嘗試使用其他庫作為rauth的作者,我可以推薦它。 這是一個可行的Twitter示例 希望能有所幫助。

我最終使用了python-oauth2 他們的指示有些過時,所以我更新了它們並提交了請求請求。 截至目前,它尚未被接受,但這是帶有更新說明的指向分叉存儲庫的鏈接。

希望這對其他人有幫助...從maxcountryman引用的代碼中-它有一個注釋,直到那時我在其他地方都沒有找到:

# Get a real consumer key & secret from https://dev.twitter.com/apps/new

那幫助我進步了很多……干杯,伊恩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM