2011-04-18 89 views
3

我目前正在爲qml環境開發針對twitter的應用程序,使用javascript和OAuth。 我被困在「request_token」端點,我不明白爲什麼。 當我發送我的請求時,我只會得到「未能驗證oauth簽名或令牌」! 我使用http://oauth.googlecode.com/svn/code/javascript/example/signature.htmlhttp://quonos.nl/oauthTester/檢查了我的簽名代,看起來我的簽名和我的基礎都是對的! 我試過在「授權」http頭字段和正文中發送數據。 這是我即basestring:twitter oauth request_token失敗

POST &的https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token & oauth_consumer_key%3D26oauth_nonce%3DDbWO0M%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1303129797%26oauth_token%3D% 26oauth_version%3D1.0

我在報頭字段 「授權」 發送的部分是:

oauth_consumer_key = & oauth_signature_met HOD = HMAC-SHA1 & oauth_timestamp = 1303130860 & oauth_nonce = UX2kEA & oauth_signature = LizFO9xkre2Kv5A43Oj%2F%2FaY9Wck%3D

如果有人能幫助我這個問題......我已經檢查通過OAuth庫實例的每一步和網絡上的其他工具。

回答

0

絕對檢查出這個答案類似的問題。它可能包含您的解決方案: Twitter OAuth, Error when trying to POST direct message

+0

嗨!謝謝 ! 我試圖改變我的url_encoded,它不會改變結果。我刪除了我的代碼並再次開始,我不再使用oauth。看來我的基礎字符串和我的簽名是正確的(希望http://quonos.nl/oauthTester/和http://oauth.googlecode.com/svn/code/javascript/example/signature.html),但是i'n仍然遇到同樣的問題。也許這是關於我正在構建的字符串,我嘗試另一種方式(仍在整合您的解決方案) – galettan 2011-04-19 14:51:01

0

因此,似乎Twitter的oauth實現不需要oauth_token來簽署basestring(如在Twitter的API文檔中所述)。此外,你不應該把它寫在你的基礎字符串中。

Authorization頭字段應填寫這樣:

OAuth oauth_nonce="1Rek6K",oauth_callback="oob",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1303375383",oauth_consumer_key="<YOUR_CONSUMER_KEY",oauth_signature="fgb6sPPR2PHQD%2BinG2KvtvgOtXU%3D",oauth_version="1.0" 

的mendatory oauth_callback被前人的精力設置爲 「OOB」 桌面應用程序。