Twitter OAuthで Failed to validate oauth signature and token

2013/08/02

Twitter認証エラー

ある日いきなり、TwitterAPIを使用したログインができなくなりました。
今までは出来ていたのにいきなりです。

「https://api.twitter.com/oauth/request_token」の戻り値を調べたところ、
「Failed to validate oauth signature and token」というメッセージが表示されていました。

焦ってネットで調査したところ、以下のような原因が多いようです。

時刻のずれ

サーバーの時間がずれていると、このエラーが発生することがあるようです。
正しい時刻に直してみましょう。

また、こちらのサイトでは、UTCに設定する必要があるとも書いております。
(time()で時刻を取得するので関係ないかもしれませんが。。。)

引数の並び順

OAuth認証のパラメータの並び順が間違っていると、このエラーが発生することがあります。
以下の並び順で設定しなおしましょう。

  1. oauth_callback
  2. oauth_consumer_key
  3. oauth_nonce
  4. oauth_signature_method
  5. oauth_timestamp
  6. oauth_version

アカウントまたはAppの問題

私はこれが原因でした。
アカウントが削除されており、APIが使用できなくなっていました。。。笑
また、Twitter applicationsの設定で、Callback URL が設定されていないと、このエラーが発生することがあります。

Callback URLを正しく設定すると、正常に動作するようになるのではないでしょうか。
それでも治らない場合は、Applicationを作り直して、Consumer keyとConsumer secretを再度取得してみるのも良いかもしれません。

Related

Vagrant+Docker+PHP環境で「session.save_path」指定時に、セッションファイルが空になるエラー

ファイル共有でのフォルダの所有者を設定 結論 PHP5.4.28 からセッションファイルのownerはrootもしくはWebサーバのユーザに限るという制限が...

LINEと連携したテイクアウト事前注文システム徹底比較!

目次 テイクアウト予約・注文受付システムのトレンド LINEと連携したテイクアウト事前注文システムの価格表 L.B.B.Cloud テイクイーツ ...

PHPで動画の撮影日を取得

PHPで動画の撮影日を取得 概要 PHPからffprobeコマンドを実行し、動画の撮影日時を取得します。 コード $posted_at = ...

FullCalendarでGoogleカレンダーのようなUIを実装

jQueryプラグインFullCalendarのサンプル 概要 FullCalendarを使用して、GoogleカレンダーのようなUIを実装する使用例を...

PHP Laravel5.2でmulti-auth(複数テーブルでの認証)を実装

Laravel5.2でマルチ認証 概要 LaravelとはPHPの中で今最も伸びているフレームワークです。 処理速度が遅いなどありますが、かなり使い安く拡...

PHP 正規表現でIPアドレス形式の文字列か判定

正規表現でIPアドレスの入力チェック 概要 フォームで入力されたIPアドレスが正当な文字列か判定するためのバリデーション処理を実装します。 基本的...
トップへ戻る