我已经使用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>
作为回复。在做了一些研究之后,我发现这可能是四件事之一。
我不认为我受到限制,因为我从未设法得到回复,而且我不知道如何检查我是否正确认证。非常感谢任何帮助。