2009-11-08 145 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调用。