【发布时间】:2012-05-04 19:03:48
【问题描述】:
我正在使用 omniauth 通过 twitter 对用户进行身份验证。 omniauth 提供访问令牌。现在我想向 twitter 发送 get 或 post 请求。我不想使用任何宝石。我想处理 net::http。
即使在 twitter api 文档中!我无法找到一个很好的教程
有人可以帮忙吗?谢谢
【问题讨论】:
标签: ruby ruby-on-rails-3 twitter
我正在使用 omniauth 通过 twitter 对用户进行身份验证。 omniauth 提供访问令牌。现在我想向 twitter 发送 get 或 post 请求。我不想使用任何宝石。我想处理 net::http。
即使在 twitter api 文档中!我无法找到一个很好的教程
有人可以帮忙吗?谢谢
【问题讨论】:
标签: ruby ruby-on-rails-3 twitter
Here 这正是你所需要的,所以,既然你已经从omniauth 获得了令牌和秘密,现在你要使用它:
def prepare_access_token(oauth_token, oauth_token_secret)
consumer = OAuth::Consumer.new("APIKey", "APISecret", { :site => "https://api.twitter.com", :request_token_path => '/oauth/request_token', :access_token_path => '/oauth/access_token', :authorize_path => '/oauth/authorize', :scheme => :header })
token_hash = { :oauth_token => oauth_token, :oauth_token_secret => oauth_token_secret }
access_token = OAuth::AccessToken.from_hash(consumer, token_hash )
access_token
end
然后,例如,您发布一条推文:
msg = {'status' => 'Hey look I can tweet via OAuth!'}
access_token = prepare_access_token(token, secret)
response = access_token.post('https://api.twitter.com/1/statuses/update.json', msg, { 'Accept' => 'application/xml' })
阅读链接上的文章了解更多信息。
【讨论】: