TES Blog

株式会社テクニカルエンジニアリングサポートに所属する社員が、自身が携わるテクノロジーやイベントに関する情報を発信しています。

TwitterAPIで使うアクセストークンが勝手に消えたお話

Twitter APIとの連携で、Twitter Application Managementでトークンを発行して自分のアプリケーションで利用することは多いと思う。

私もTwitter APIを利用してTwitterのBotを作っていたのですが、アプリケーション環境で突如Twitterとの接続でエラーが出るようになった。

Spring Boot エラー内容

2018-02-11T20:14:14.911250+00:00 app[web.1]: org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://api.twitter.com/1.1/statuses/update.json": cannot retry due to server authentication, in streaming mode; nested exception is java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode

エラー内容でググってみたら、 callbackUrl を設定したら直るとあったので試してみたがダメ…。

解決方法

色々見てる内に、Twitter Application ManagementKeys and Access Tokens 画面でアクセストークンが消えてることに気がついた。 再度取得し直して、アプリケーション上のトークンを更新してあげたらちゃんと動くようになった。

アクセストークンの再追加時にエラーメッセージで「既に存在するぞ!!」って何故か怒られるが、新しいアクセストークンが発行される。 以前使用していたアクセストークンとは別のものになっているため、アプリケーションで使用していたトークンの更新を忘れないようにすること。

もし同じような状況になったら、アクセストークンが消えていないか確認してみてください。