仮想サーファーの波乗り

仮想化エンジニアの日常

プログラミング・SNS分析・仮想通貨・自動化などに関してよく書く雑記ブログ

【TwitterAPIのエラー解消法】tweepy.error.TweepError: [{'code': 89, 'message': 'Invalid or expired token.'}]


PythonとTwitterAPI使って「フォローしているアカウントの中で不毛なアカウント(フォロー数多すぎるアカウント)をフォロー外す」という処理を書いて実行するようにしていたのですが、何度か連続してファイルを実行していると、急にアクセスできなくなって以下のエラー文が表示されるようになりました。

tweepy.error.TweepError: [{'code': 89, 'message': 'Invalid or expired token.'}]


いろいろググってみた結果、APIトークンがおかしくなっているみたいだということで、アプリケーションのAPIアクセストークンを取得するページに行って確認することに。すると案の定Access Tokenの箇所が空白になっていて、なぜかTwitterAPIのアクセストークンが消えてしまっていました。

f:id:virtual-surfer:20180218140951p:plain


対応として、再度アクセストークンを作成してアクセストークンとアクセストークンシークレットを書き直して処理を実行したところ、正常に動くようになりました...!


何度も連続してAPIアクセスするとアクセストークン削除される仕様になってるとかなのかな...?謎だ。


同様のエラーに悩まされている方の助けとなれば幸いです。


【追記】

その後、もう一度自動でフォロー外す処理を継続していると、また出ました。こやつが。

tweepy.error.TweepError: [{'code': 89, 'message': 'Invalid or expired token.'}]


15分以内に特定回数以上のAPIアクセスをしたら警告出るというやつですかね。


しかし、公式のドキュメントを確認すると、過剰リクエストに対してのメッセージは以下のもののようなのでそれは違うと。

{ "errors": [ { "code": 88, "message": "Rate limit exceeded" } ] } 


今日はおとなしくしておいて、また明日試してみようと思います。


では!