TwitterのOAuthで400、401、403エラーが出る原因まとめ

Twitter サービス

Ruby on railsの勉強がてらTwitter連携アプリを作っていますが、4xxエラーでいくつか引っかかったのでエラーの原因と解決方法をメモしておきます。

400エラー

400エラーとは、httpのエラーコードの一つで「400 Bad Request」、つまりリクエスト内容の形式が間違っているという意味になります。

原因:ツイッターのAPIキー(consumer key)とSecretキー(consumer secret)が設定されていない。

APIキー等を環境変数から読み込んでいる場合、環境変数そのものが設定されていない等の理由が考えられます。

401エラー

401エラーとは、httpのエラーコードの一つで「401 Unauthorized」、つまり「認証に失敗した」という意味になります。

原因1:ツイッターのAPIキー(consumer key)とSecretキー(consumer secret)が間違っている。

APIキー等が間違っている可能性があります。

誤字脱字が無いか。ダミーの値を入れたままになっていないか。別の環境の値が入っていないか等を確認しましょう。

原因2:コールバックURLが未設定

ツイッターのApp detailsのCallback URLsが空欄だと401エラーになる場合があるようです。

ダミーのURLでも良いので何か入れておきましょう。


原因3:パソコンの時計の時刻がズレている

時計がずれていると認証に失敗することがあるようです。

同期設定をしておきましょう。

原因4:不明

ツイッターのバグなのか、上記を試しても解決しない場合があります。

一度アプリを削除して作りなおすか、それでもダメなら公式フォーラムで相談してみるぐらいしか思いつきません。

フォーラムは以下です。
Twitter Developers

403エラー

403エラーとは、httpのエラーコードの一つで「403 Forbidden」、つまり「閲覧が禁止されている」という意味になります。

原因:ツイッター側のアプリ設定でCallback URLs の設定が間違っている。

コールバックURLのドメインが、アクセス元のドメインと別のものになっていると403エラーになります。

開発環境で動作確認する場合は、開発環境のコールバックURLもツイッターのアプリ設定のCallback URLs に設定するようにしましょう。

以上です。参考まで。

コメント/ピンバック

タイトルとURLをコピーしました