【TwitterAPI】「update.json」にリクエストを投げた時に出たエラーのまとめ
TwitterAPIの「update.json」にリクエストを投げて私のTwitterにツイートしようとした時に出たエラーとその対処法をまとめています。
「update.json」にGet送信した場合
「update.json」にGet送信したときに次のエラーが返ってきました。
Array
(
[errors] => Array
(
[0] => Array
(=> 86
[message] => This method requires a POST.
)
)
)
「This method requires a POST.(このメソッドはPOST送信が必要)」から察するに、「update.json」はPOST送信のみしか受け付けないようです。
そのためGet送信からPOST送信に切り替えたらエラーが消えました。
アプリケーションの権限が「Read only」の場合
Twitter Developersでアプリケーションを作成した時に、そのアプリケーションの権限が「Read only」にも関わらず「update.json」でツイート(書き込み)しようとしたときは次のエラーができます。
Array
(
[request] => /1.1/statuses/update.json
[error] => Read-only application cannot POST.
)
「Read-only application cannot POST.(読み取り専用のアプリケーションではPOST送信できない)」ということなので、Twitter Developersにいって該当アプリケーションの「Permissions」を「Read and Write」もしくは「Read, Write and Access direct messages」に変更すると良いです。
その詳しい変更方法はエラー「Read-only application cannot POST.」の対処法を参照して下さい。
無効または有効期限が切れたトークンを使用した場合
無効または有効期限が切れたトークンを使用してリクエストを投げた場合、次のエラーが返ってきます。
Array
(
[errors] => Array
(
[0] => Array
(=> 89
[message] => Invalid or expired token.
)
)
)
この場合、Twitter Developersにいって該当アプリケーションの「Access Token」を確認してプログラムに記述しなおすとエラーが消えます。
なお、「Access Token」の場所はTwitterAPIの認証コード類を取得する手順を参考にすればわかると思います。
同じ内容のツイートを投げた場合
同じ内容のツイートを「update.json」を使ってリクエストした場合、次のエラーができます。
Array
(
[errors] => Array
(
[0] => Array
(
=> 187
[message] => Status is a duplicate.
)
)
)
「Status is a duplicate.(ステータスが重複している)」とあるように、どうやら同じ内容のツイートをしてはダメなようです。
そのためツイート内容を変更すればこのエラーがでなくなります。
あわせて読んでほしい!
コメント
まだコメントはありません。