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)操作をしても、応答が無くて困っている人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。