2017-03-10 25 views
0

我已經生成的設置/..../鍵和訪問令牌頁面訪問令牌,現在有一個的Twitter的Oauth可能的原因400錯誤的請求響應使用一個簡單的REST客戶端

  • 消費重點
  • 消費者的祕密鑰匙
  • 用戶ID(即使這是可能已經產生)
  • 訪問令牌
  • 訪問令牌密鑰

和正在使用其他客戶端,測試能夠使用此API終點

https://api.twitter.com/1.1/statuses/user_timeline.json?user_id=userIdHere&count=3

以及下列頭

  • 拉最新3個狀態接受:/
  • 連接:關閉
  • 用戶代理:OAuth gem v0.4.4
  • 內容類型:應用/ X WWW的窗體-urlencoded
  • 的Content-Length:76
  • 主機:api.twitter.com
  • 授權:OAuth的
    • oauth_consumer_key =
    • oauth_signature =
    • oauth_signature_method =
    • oauth_timestamp =
    • 組oauth_token =
    • oauth_version =

顯然「userIdHere」在結束點地址(以上)取代有我的用戶名(我知道我還可以使用我的USER_ID,但是這點旁邊)以及因爲'授權'值取代了實際值。這就是我的問題在於......

什麼是每個映射「的OAuth ......」授權參數及其相關的Twitter的產生和提供的令牌或鍵(S)(這是接近頂部提該職位)?

我不斷收到一個'400錯誤請求'響應,並認爲這是授權失敗,因爲關鍵位置的排列不正確。我不知道哪個價值去哪個'oauth ......'值

最後,‘的結構授權’參數頭如下(根據指令這裏從Twitter的實施例)作爲一行字符串值

的OAuth oauth_consumer_key =‘xvz1evFS4wEEPTGEFPHBog’,oauth_nonce =「kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg 」 oauth_signature = 「tnnArxj06cWHq44gCs1OSKk%2FjLY%3D」,oauth_signature_method = 「HMAC-SHA1」,oauth_timestamp = 「1318622958」,組oauth_token = 「370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9we​​JAEb」,oauth_version = 「1.0」 )

我只是想使用GET獲取最後3個狀態並且無法使用。另外,我打算切換值的環境變量,但

UPDATE 使用郵差現在不要緊尚未..,和它在映射更好,但現在我越來越

{ 

「錯誤」:[ { 「code」:32, 「message」:「無法驗證您的身份。」 } ] }

回答

0

郵遞員部分確保你離開時間戳和隨機數空和你打發送之前點擊「更新請求」。這將生成時間戳和隨機數 - 否則每次都會收到授權失敗。我只是用我的twitter API憑據來試用它,它可以工作。

對於Oauth寶石代碼,我發現奇怪的是,您有和Content-Length標頭的GET請求。看起來像400 Bad request可能是因爲您試圖對僅支持GET的端點執行POST。事實上,當我嘗試對該端點執行POST時,它告訴我。

{ 
    "errors": [ 
    { 
     "code": 86, 
     "message": "This method requires a GET or HEAD." 
    } 
    ] 
} 

所以400實際上是好消息 - 這意味着授權的作品,你只是以錯誤的方式調用API。

相關問題