PythonとTwitterAPI使って「フォローしているアカウントの中で不毛なアカウント(フォロー数多すぎるアカウント)をフォロー外す」という処理を書いて実行するようにしていたのですが、何度か連続してファイルを実行していると、急にアクセスできなくなって以下のエラー文が表示されるようになりました。
tweepy.error.TweepError: [{'code': 89, 'message': 'Invalid or expired token.'}]
いろいろググってみた結果、APIトークンがおかしくなっているみたいだということで、アプリケーションのAPIアクセストークンを取得するページに行って確認することに。すると案の定Access Tokenの箇所が空白になっていて、なぜかTwitterAPIのアクセストークンが消えてしまっていました。
対応として、再度アクセストークンを作成してアクセストークンとアクセストークンシークレットを書き直して処理を実行したところ、正常に動くようになりました...!
何度も連続してAPIアクセスするとアクセストークン削除される仕様になってるとかなのかな...?謎だ。
同様のエラーに悩まされている方の助けとなれば幸いです。
【追記】
その後、もう一度自動でフォロー外す処理を継続していると、また出ました。こやつが。
tweepy.error.TweepError: [{'code': 89, 'message': 'Invalid or expired token.'}]
15分以内に特定回数以上のAPIアクセスをしたら警告出るというやつですかね。
しかし、公式のドキュメントを確認すると、過剰リクエストに対してのメッセージは以下のもののようなのでそれは違うと。
{ "errors": [ { "code": 88, "message": "Rate limit exceeded" } ] }
今日はおとなしくしておいて、また明日試してみようと思います。
では!