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_tokenOAuth認証フロー中にユーザーを認証するための一時的なOAuthトークンを提供します。OAuthベリファイアは、ユーザーがアプリケーションを承認したことを証明するものです。get_access_token認証されたすべてのリクエストに使用される最終的なOAuthトークンを取得するには、これを最後に指定する必要があります。

詳細については、これを扱っている公式Twitterドキュメントを読むことを検討してください:https ://dev.twitter.com/docs/auth/using-oauth (https://dev.twitter.com/docs/auth/implementing-sign-プロセスの説明についてはTwitter )

于 2012-07-17T13:49:10.530 に答える