2009-11-08 146 views
2

我目前正嘗試使用Grackle Ruby GEM與Twitter API集成,但我遇到了一些麻煩。Twitter OAuth請求令牌使用Grackle

我試圖執行GET到twitter.com/oauth/request_token,但根據OAuth spec我需要提供以下值:

  • oauth_consumer_key
  • oauth_signature_method
  • oauth_signature
  • oauth_timestamp
  • oauth_nonce

我有點難住,因爲在這一點上,Twitter只給了我一個Consumer KeyConsumer Secret。我只是在艱難地走這個道路嗎?因爲我無法弄清楚如何正確填充這些值。無論我提供什麼樣的Twitter保持返回:

無法驗證的OAuth簽名和 令牌

這聽起來像我的問題就是如何正確地與Twitter和OAuth一般集成了通用的誤解,而不是Grackle的細節......但是在這種情況下可能太多的信息是最好的:-)

回答

2

首先,你應該可以閱讀最新的OAuth rev, which is 1.0a。獲得請求令牌時沒有任何區別,但在這方面你應該沒問題。

除此之外,它看起來像OAuth的過程一般誤解的組合和鷯哥的範圍:

獲取接入 令牌和令牌密鑰的過程是鷯哥的 範圍之外並且需要在每個應用程序#基礎上編碼爲 。 一旦您獲得 收購了上述所有 信息(source)後,Grackle即可投入使用。

因此,我會首先考慮一個圖書館,它可以在繼續使用Grackle之前爲您提供訪問令牌。 Moomerman的twitter_oauth看起來是一個不錯的選擇:http://github.com/moomerman/twitter_oauth

希望幫助!

+0

謝謝! 在我寫完我的問題之後,我開始嘗試使用單獨的OAuth gem,但我不確定我是否只是在繞過問題或以正確的方式進行操作。您的回答有助於向我保證我不僅僅是「黑客」。 – 2009-11-08 15:49:08

1

我遇到了同樣的問題,並且我在網上找到的oauth gem的所有例子都過時了。我寫an explanation with sample code here,但基本流程是:

  • 從Twitter獲取請求令牌並保存細節
  • 將用戶發送到Twitter與該令牌
  • 獲取用戶背部,用細節和響應來自Twitter生成訪問令牌
  • 使用訪問令牌的令牌和祕密與您的消費者令牌和祕密進行API調用。