single.php

Twitter APIでツイートできない場合の対処法

Twitter APIで、認証したアカウントでツイート投稿ができない場合に、少しハマったので、備忘録的に投稿します。

ツイート投稿が動作しない

Twitter APIを利用する際に便利なTwitterOAuthライブラリでpostメソッドで認証したアカウントでツイートする際に、応答がなくなる場合があります。

デバッガーでステップ実行しても、応答が無い状態でプログラムが停止してしまうことがありました。

原因はアプリの権限

応答しない原因はアプリの動作権限の場合があります。既定値では[Read](読み取りのみ)なので、ツイートする場合はDeveloper Portalサイトの[Edit app permissions]画面で[Read and Write]または[Read + Write + Direct Messages]に変更します。

設定を変更したらトークンを再発行

Twitter APIの場合、設定を変更後は[Access Token]と[Access Token Secret]を再発行しないと設定が反映されないので[Authentication Token]画面で[Regenerate]ボタンをクリックして、再発行を行います。

具体的には次の手順で行います。

1.[Developer Portal]画面で、アプリの[Authentication Token]画面を表示して[Access Token and Secret]の[Regenerate]ボタンをクリックします。

2. 表示された[Regenerate]画面で[Yes, regenerate]ボタンをクリックします。

3. 表示された [Access Token]と[Access Token Secret] をメモします。

4. プログラムを更新して、新しい [Access Token]と[Access Token Secret] で実行します。

5. ツイートができているか確認します。

まとめ

Twitter APIで、認証したアカウントでツイート投稿ができない場合、アプリの権限設定が既定値の[Read]になっている場合があります。

[Read and Write]または[Read + Write + Direct Messages]にすることで認証したアカウントからツイート(投稿)操作をすることができます。

また、アプリの設定変更をした場合には、[Access Token]と[Access Token Secret]を再発行する必要があるので、権限設定を変更しても改善されない場合には[ Authentication Token ]画面で、トークンの再発行を行う必要があります。

Twitter APIでツイート(POST)操作をしても、応答が無くて困っている人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です