API

【Twitter API エラー解決】Application cannot perform write actions. Contact Twitter Platform Operations through https://help.twitter.com/forms/platform./code:261

こんにちは!ユウナです。

皆さんはTwitterが提供しているAPIを使っていますか?

やり方さえわかれば、誰でも簡単に使うことができます。

API利用申請~使用方法までについては、こちらが参考になります。(※別サイトに移動します)

【最新版】図解!実例あり!Twitter APIの申請方法 #note https://note.com/yuinami/n/n03f6c00dbcf8

TwitterAPIを利用する上でももちろん規約があり、1日でできる範囲が意外と厳しいです。

そんな中、私も利用制限に引っかかってしまいました。

試行錯誤しながらようやく解除できたので、備忘録を兼ねて解決策を紹介していこうと思います。

起きたエラー・制限内容

私は普段、PHPのフレームワーク「Laravel」を使ってTwitterAPIを利用しているのですが、ある日、こんな実行結果が返ってきたのです。

{“errors”:[{“message”:”Application cannot perform write actions. Contact Twitter Platform Operations through https://help.twitter.com/forms/platform.”,”code”:261}]}

直訳すると「アプリケーションは書き込みアクションを実行できません。httpsからTwitterプラットフォームオペレーションに連絡してください」ということでした。

Twitter開発者画面( https://developer.twitter.com/en/portal/projects/ )に行くとこのようなメッセージが出ていました。

この、オレンジ色の枠の部分です。(※スクショを取り忘れたので、イメージ図になります。)

指示されたように、メールを見てみました。

アプリケーションの停止のお知らせ

Twitterからのお知らせです。お客様のアプリ「XXXX」が凍結され、Twitter APIにアクセスできなくなったことをお知らせします。この凍結に異議申し立てをするには、APIポリシーサポートフォームをご覧ください。
凍結中は、Twitterの許諾なしに新しいアプリケーションを登録しないでください。そのような行為はTwitterの開発者ポリシーに違反しており、アプリケーションが永久凍結されることがあります(関連する開発者アカウントも同様です)。
よろしくお願いいたします。
Twitter APIポリシー

ということでした。

「凍結」という文字には焦りましたが、ここで対象になっているのは、あくまでも「TwitterAPIを利用する権利の凍結」でした。普通にツイートもできましたし、フォローアンフォローもできました。

ただ単に、APIを利用することができなくなった、という意味でした。

ユウナ

最悪、手でツイートすればいいしなぁ。と思いながらも、やっぱり自動化できるところはしたかったので、解除策を調べてみました。

解決策を調べてみる

まずは、このエラーメッセージで検索してみました。そしたらこの記事が分かりやすかったです。

TwitterAPIが凍結されて復活するまでの詳細なやりとり

「改善したから解除して欲しい」という内容を送り続けることで、解除できるそうです。

実際にやってみました。

解決策 実践

1.まず、Twitter APIポリシーサポートへ連絡する

https://help.twitter.com/ja/forms/platform

こちらにアクセスします。

すると下記のような画面になるので、問合せ項目を選びます。

私は、「アプリケーションが凍結されたか、制限されている」を選択しました。

2.次に、必要事項を入力する

  • Twitterユーザ名・・・@~~の部分
  • メールアドレス・・・Twitterに登録しているメールアドレス
  • アプリケーション名・・・下記図の①番
  • アプリケーションID・・・下記図の②番
  • コンシューマーキー・・・下記図の③番

必要事項入力の最後の部分です。

  • アプリケーションのURL・・・ここは何でもいいです。自前のサイトやブログがあるのなら、そのURLで結構です。
  • 発生している問題・・・下記参考欄の通りです。ぜひ参考にしてください。

「このアプリはTwitterのルールとポリシーに違反しています。その結果、特定の機能が制限されます。詳細が記載されたメールが@gm。comに送信されました。サポートが必要な場合は、サポートチケットを送信してください。」というメッセージがあり、APIを利用できません。利用規約を改めましたので、制限解除をお願い致します。

「発生している問題」欄は上記のように書いて、「送信」を押しました。

結果は、まだ解除されず…

1回目の解除連絡をしたときから、約12時間後に、このような文面のメールが届きました。

Thanks for reaching out. Your app was restricted for sending a large volume of unsolicited and/or repeat @mentions. This is prohibited by the Twitter Rules

Spam: You may not use the Twitter service for the purpose of spamming anyone. What constitutes “spamming” will evolve as we respond to new tricks and tactics by spammers. Some of the factors that we take into account when determining what conduct is considered to be spamming are:

  • if you send large numbers of unsolicited replies or mentions;
  • if you send large numbers of duplicate replies or mentions;

Note that this behavior is not allowed regardless of whether or not it is automated. Per the Automation Rules if you are sending automated @mentions the recipient or mentioned user(s) must have requested or have clearly indicated an intent on Twitter  to be contacted by you. 

As a next step please respond to this email listing the measures that you have taken to limit this behavior on your platform. 

Please let us know if you have any questions. 

Regards, 

Twitter Platform Operations 


お問い合わせいただきありがとうございます。アプリは、大量の未承諾および/または繰り返しの@メンションを送信することを制限されていました。これはTwitterのルールで禁止されています:

スパム:誰かにスパムを送信する目的でTwitterサービスを使用することはできません。 「スパミング」を構成するものは、スパマーによる新しいトリックや戦術に対応するにつれて進化します。どのような行為がスパムと見なされるかを判断する際に考慮に入れる要素のいくつかは次のとおりです。

  • 未承諾の返信や言及を大量に送信する場合。
  • 重複した返信や言及を大量に送信する場合。

自動化されているかどうかに関係なく、この動作は許可されないことに注意してください。自動化ルールに従って、自動化された@メンションを送信する場合、受信者または言及されたユーザーは、Twitterで連絡する意図を要求したか、明確に示している必要があります。

次のステップとして、プラットフォームでこの動作を制限するために行った対策をリストしたこのメールに返信してください。

ご不明な点がございましたらお知らせください。

よろしく、

Twitterプラットフォームの運用

そして私は、このメールに対して下記のように英語で送りました。

We have removed the automation feature from your application. Please unsuspend my account that is currently frozen.

訳すと【アプリケーションから自動化機能を削除しました。現在凍結されているアカウントの一時停止を解除してください。】という意味になります。

2回目の連絡の結果は…無事に解除されました!

2回目の連絡をした日から、約1日後、このようなメールが届きました。

Thanks for reaching out. Your app was restricted for sending a large volume of unsolicited and/or repeat @mentions. This is prohibited by the Twitter Rules

Spam: You may not use the Twitter service for the purpose of spamming anyone. What constitutes “spamming” will evolve as we respond to new tricks and tactics by spammers. Some of the factors that we take into account when determining what conduct is considered to be spamming are:

  • if you send large numbers of duplicate replies or mentions;
  • if you send large numbers of unsolicited replies or mentions;

Note that this behavior is not allowed regardless of whether or not it is automated. We have reactivated your app, but this behavior must stop. Going forward, only @mention users who have first @mentioned your account. Only include one @mention per user interaction. 

Regards, 

Twitter Platform Operations 


お問い合わせいただきありがとうございます。アプリは、大量の未承諾および/または繰り返しの@メンションを送信することを制限されていました。これはTwitterのルールで禁止されています:

スパム:誰かにスパムを送信する目的でTwitterサービスを使用することはできません。 「スパミング」を構成するものは、スパマーによる新しいトリックや戦術に対応するにつれて進化します。どのような行為がスパムと見なされるかを判断する際に考慮に入れる要素のいくつかは次のとおりです。

  • 重複した返信や言及を大量に送信する場合。
  • 未承諾の返信や言及を大量に送信する場合。

自動化されているかどうかに関係なく、この動作は許可されないことに注意してください。アプリを再アクティブ化しましたが、この動作を停止する必要があります。今後は、最初にあなたのアカウントに@言及した@メンションユーザーのみ。ユーザーインタラクションごとに1つの@メンションのみを含めます。

よろしく、

Twitterプラットフォームの運用

Twitter 開発者画面をみても、オレンジ色のエラーメッセージ枠が消えていました。

ユウナ

ネットで調べたら、解除までに10日かかった人や1ヶ月かかったなどの声がありましたのでちょっと身構えていましたが、幸い、2日足らずで解除してもらえました。ほっと一安心です。

結び

今回TwitterAPIで5分毎に15件の自動投稿をするプログラムを組んでいたことで、スパムアカウントと認定されてしまいました。

その結果、API利用が一時的に停止され、解除までに2かを費やしてしまったのが反省点です。

ですが、ここまでに紹介した内容を参考にすれば、解除できますので、落ち着いて対処していきましょう。

TwitterAPI公式サイトでも書いてありましたが、停止になったからといってその問題を解決しないまま、新しいアプリケーションを作ったり、Twitterアカウントを作ったりしないようにしてください。永久追放の危険性が高まりますので!

それでは、ルールを守って楽しくツイッターをしましょうね!