Twitter API の 403 (Forbidden) の理由を調べる方法

Twitter の API がステータスコード 403 (Forbidden)を返す理由はいろいろあります。

  • キー情報(文字列)の誤り
  • APIの設定不備
  • callback_url の誤り
  • 投稿の文字数が多すぎる
  • 直前の投稿と同じ

これ以外にもいろいろなケースで 403 が発生するようです。

ステータスコードだけで理由を特定するのは難しい…でも大丈夫。レスポンスのペイロードにちゃんとエラー理由を格納してくれています。

{ errors:
  [ 
    {
      code: ※Twitter APIのエラーコード※ ,
      message: ※エラーの内容※
    }
  ]
}

こんな感じの json 形式で返してくれます。message を確認すれば何故エラーになったのか一目瞭然です。

error[s] と複数形になっていて値もリスト形式になっているのですが、どういうときに同時に複数のエラーが設定されるのかは確認できていません。