0

我看到很多关于同一个问题的问题,但我找不到解决办法,所以我问了一个问题,以确保我没有错过任何事情。

在 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。有没有我错过的步骤?我将不胜感激任何帮助。

4

1 回答 1

1

get_request_token在 OAuth 身份验证流程中为您提供临时 OAuth 令牌以对您进行身份验证。OAuth 验证器是用来证明用户授权应用程序的东西。get_access_token为了获得将用于所有经过身份验证的请求的最终 OAuth 令牌,您必须最后给出这个。

有关更多信息,请考虑阅读处理此问题的官方 Twitter 文档:https ://dev.twitter.com/docs/auth/using-oauth ( https://dev.twitter.com/docs/auth/implementing-sign-推特用于描述过程)

于 2012-07-17T13:49:10.530 回答