Twitter の API がステータスコード 403 (Forbidden)を返す理由はいろいろあります。
- キー情報(文字列)の誤り
- APIの設定不備
- callback_url の誤り
- 投稿の文字数が多すぎる
- 直前の投稿と同じ
これ以外にもいろいろなケースで 403 が発生するようです。
ステータスコードだけで理由を特定するのは難しい…でも大丈夫。レスポンスのペイロードにちゃんとエラー理由を格納してくれています。
{ errors: [ { code: ※Twitter APIのエラーコード※ , message: ※エラーの内容※ } ] }
こんな感じの json 形式で返してくれます。message を確認すれば何故エラーになったのか一目瞭然です。
error[s] と複数形になっていて値もリスト形式になっているのですが、どういうときに同時に複数のエラーが設定されるのかは確認できていません。