2010-11-06 66 views
2

我想构建一些简单的Ruby脚本在本地机器上运行并自动执行一些Twitter功能,仅供我自己使用。我很难获得OAuth授权。无法获得简单的单用户Twitter自动化Ruby脚本与Oauth一起工作

我注册的应用程序在http://dev.twitter.com/apps和检索其消费密钥和密码,我检索到的访问令牌和访问秘密我的Twitter账户从http://dev.twitter.com/apps/<application_id>/my_token

沸腾吧降到最低代码:

require 'oauth' 
TWITTER_CONSUMER_KEY = "my application's consumer key" 
TWITTER_CONSUMER_SECRET = "my application's consumer secret" 
TWITTER_ACCESS_TOKEN = 'my access token' 
TWITTER_ACCESS_SECRET = 'my access secret' 
consumer = OAuth::Consumer.new(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, 
    { :site => "http://api.twitter.com", 
    :scheme => :header 
    }) 
token_hash = { :oauth_token => TWITTER_ACCESS_TOKEN, 
       :oauth_token_secret => TWITTER_ACCESS_SECRET 
      } 
access_token = OAuth::AccessToken.from_hash(consumer, token_hash) 
response = access_token.request(:get, "http://api.twitter.com/1/friends/ids.json?user_id=Mashable") 
puts response.body 

每次都得到以下信息。

{ “错误”: “该方法需要验证。”, “请求”: “\/1 \ /朋友\ /ids.json USER_ID =混搭?”}

所以它出现Twitter没有认识到授权已经发生。我无法弄清楚为什么。我错过了什么?

回答

0

您是否正在使用您的请求中的验证器引脚?大多数OAuth API只需要验证者获取访问令牌。 Twitter的API使用验证器来处理每个API请求。

相关问题