访问Twitter 1.1 API

时间:2013-06-22 14:01:58

标签: ruby twitter oauth

我已经使用Twitter注册了我的移动应用程序(Sencha Touch),并且我有适当的密钥来访问API的1.1版本。现在我正在编写一个Web服务,将JSON提供给我的移动应用程序。以下是我到目前为止基于Twitter在this page上提供的ruby示例。

require 'oauth'

class Twitter
  def initialize
    @consumer_key = "omitted"
    @consumer_secret = "omitted"
    @access_token = "omitted"
    @access_token_secret = "omitted"
  end

  def pull_tweets(query)
    authorized_token = prepare_access_token(@access_token, @access_token_secret)
    response = authorized_token.request(:get, query)
  end

  private

  def prepare_access_token(oauth_token, oauth_token_secret)
    consumer = OAuth::Consumer.new(@consumer_key, @consumer_secret, { site: "https://api.twitter.com/", scheme: :header })
    token_hash = { oauth_token: oauth_token, oauth_token_secret: oauth_token_secret }
    access_token = OAuth::AccessToken.from_hash(consumer, token_hash)
    return access_token
  end
end

query = "https://api.twitter.com/1.1/statuses/home_timeline.json"
response = Twitter.new.pull_tweets(query)
p response

当我运行此代码时,我得到#<Net::HTTPBadRequest 400 Bad Request readbody=true>作为回复。在做了一些研究之后,我发现这可能是四件事之一。

  • 我的身份验证详细信息错误
  • 我受到限制
  • Ruby没有正确格式化查询字符串(more details
  • 我使用的查询错误

我不认为我受到限制,因为我从未设法得到回复,而且我不知道如何检查我是否正确认证。非常感谢任何帮助。

0 个答案:

没有答案