我使用omniauth通过twitter验证用户身份。 omniauth提供访问令牌。现在我想将获取或发布请求发送到twitter。我不想使用任何宝石。我想用net :: http做。
甚至在twitter api文档中!我无法为此找到一个好的教程
任何人都可以帮忙吗?感谢
答案 0 :(得分:2)
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' })
阅读链接中提供的文章以获取更多信息。