【TwitterAPI】「update.json」にリクエストを投げた時に出たエラーのまとめ

公開日:
更新日:
カテゴリー: TwitterAPI

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.(ステータスが重複している)」とあるように、どうやら同じ内容のツイートをしてはダメなようです。

そのためツイート内容を変更すればこのエラーがでなくなります。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント