我看到很多关于同样问题的问题,但我找不到解决办法,所以我问一个问题,以确保我没有错过任何一件事。
在Twitter上,我将callback_url设置为'https:// my_app_url /'。
# consumer
@consumer = OAuth::Consumer.new('consumer_id',
'secret_key',
:site => 'https://api.twitter.com')
# request_token
@request_token = @consumer.get_request_token(:oauth_callback => "https://my_app_url/?state=#{state}")
# then get the user to log in via
login_url = @request_token.authorize_url
# I have a params[:oauth_token] and params[:oauth_verifier] in return
# I don't know what the oauth token is for
# I then should be able to get an access token
# all oauth calls are done in an object so @request_token has been conserved.
@access_token = @request_token.get_access_token(:oauth_verifier => params[:oauth_verifier])
# then it happens.
# => 401 Unauthorized
我不知道为什么要筹集401。有没有我失踪的一步? 我将不胜感激任何帮助。
答案 0 :(得分:1)
get_request_token
为您提供临时OAuth令牌,以便在OAuth身份验证流程中对您进行身份验证。 OAuth验证程序证明用户授权应用程序。为了获得将用于所有经过身份验证的请求的最终OAuth令牌,您必须将此最后一次提交给get_access_token
。
有关更多信息,请考虑阅读处理此问题的官方Twitter文档:https://dev.twitter.com/docs/auth/using-oauth(https://dev.twitter.com/docs/auth/implementing-sign-twitter以了解该过程)