2023年5月頃にTwitterAPIが有料化となり、お仕事で使っていたTwitterAPIに起きたトラブル(主にポリシー違反)についての備忘録です。
(現在は大分落ち着いた感じはしますが)
2023年4月末頃
厳密な切り替え日時が不明だった為、まだ有料化プランを設定する前だった時に開発環境と本番環境で以下エラーが発生した。
{"errors":[{"code":32,"message":"Could not authenticate you."}]}
そしてTwitter developer Platformのページで、開発環境と本番環境のアプリに以下警告が出ていた。
This App has violated Twitter Rules and policies. As a result, it can no longer be accessed. For assistance, submit a support ticket.
このアプリは Twitter のルールとポリシーに違反しています。その結果、アクセスできなくなります。サポートが必要な場合は、サポート チケットを送信してください。
対応
おそらく有料化に切り替わったと思われた為、Basicプランにすることで開発環境、本番環境ともに解消した。
2023年4月末頃(翌日)
Basicプランに設定した翌日、再び以下エラーが発生した。
{"errors":[{"code":32,"message":"Could not authenticate you."}]}
Twitter developer Platformのページを確認するも、アプリに特に警告は無かった。
対応
はっきりした原因はわからなかったが、Twitter developer Platformから各アプリのClient ID、Client Secretを発行することで解消した。
Client ID、Client SecretはOAuth2.0で使用するらしく特に使用はしないものだったがこれらが発行されていないとTwitter認証でエラーになってしまっていた模様。
これらの発行は、(おそらく)OAuth2.0の設定が追加された以降にAppのUser authentication settingsを更新すると初回に発行されるっぽい。
※ちなみにClient Secretはこのタイミングでしか確認できない(再発行はできる)ので念のためメモ推奨。
2023年5月中旬
Twitter認証時に再び以下エラーが発生した。
{"errors":[{"code":32,"message":"Could not authenticate you."}]}
Twitter developer Platformのアプリ個別の所の警告は以下。
This App has violated Twitter Rules and policies. As a result, it can no longer be accessed. For assistance, submit a support ticket.
このアプリはTwitterのルールとポリシーに違反しています。その結果、アクセスできなくなります。サポートが必要な場合は、サポート チケットを送信してください。
Projects & AppsのOverviewでSUSPENDEDアイコンにマウスオーバーするとちょっと違う警告(詳細をメールに送った旨が追記)
This App has violated Twitter Rules and policies. As a result, it can no longer be accessed. An email has been sent to hoge*****@fuga*****.co.jp with details. For assistance, submit a support ticket.
このアプリはTwitterのルールとポリシーに違反しています。その結果、アクセスできなくなります。詳細を記載したメールをhoge*****@fuga*****.co.jpに送信しました。サポートが必要な場合は、サポート チケットを送信してください。
で、困ったことに該当メールは特に受信しておらず、サポートの問い合わせをしようにもTwitterAPIについての問い合わせカテゴリが無かった(ネット見てると昔はあったみたいだけど)為、原因は今もわかっていない。
対応
Twitter developer Platformから開発環境向けアプリを削除し、TwitterAPIの料金プランを「Basic」から「Free」に切り替えたことで本番環境アプリの警告は解消された。
(Freeプランはアプリ1つしか登録できない)
また、Projectsを作成して、既存の本番環境向けアプリを紐づけた。
(アプリが違反状態では紐づけできなかった)
対応の補足
無料プランにして解消するというのは当時のTwitterフォーラムで同様の事象が起きた人の中でこれで解消したという書き込みがあった。
Twitterフォーラムにあった書き込み
もう一つのProjectsを作成してアプリを紐づけしたのは警告の解消とは別に「念のため」やった。
TwitterAPI v2を利用するにはプロジェクトに紐づける必要があるらしいが、特に使用しない為、紐づけていなかった(スタンドアロン状態)。
ただ、これがポリシー違反の可能性の1つかも?と思って対応した。
先にこれだけを試したかったのだが、アプリが違反状態では紐づけできなかった。