Twitter APIのエラー:Error Code 226 – This request looks like it might be automated の回避方法

シェアする

かなり久々にTwitterのbotを作ってハマったので。Twitter APIでbotを作った時のエラー回避方法です。

Twitter APIのエラー:Error Code 226 – This request looks like it might be automated の回避方法

Twitterのbotで一定時間でツイートをするbotを作ると高確率で「Error Code 226 – This request looks like it might be automated」でツイートが止まります。
以前は普通に出来たのにな・・・と思いながら色々調べると、様々な解決方法が提示されていましたが、結局思い出して自己解決しました。

ネットで見つけた回避案

この手のエラーにハマるとまぁみんなやることが、エラーメッセージで検索しますよね。
ちなみにエラーはこんなのです。
stdClass Object
(
[errors] => Array
(
[0] => stdClass Object
(
[code] => 226
[message] => This request looks like it might be automated. To protect our users from spam and other malicious activity, we can't complete this action right now. Please try again later.
)

)

)
要はbotでツイートばっかりしてるとSPAMっぽいから止めちゃうよ、という内容。
前にやっていた方法を忘れていたので、とりあえずエラーメッセージで解決法を検索してみました。

挙がっていたのはこういったもの。

別にどれも間違ってるとも思いませんが、これで問題が解決するか?というと多分あまり効果はないと思います。

Twitter APIのError226回避方法

要は同じような事を自動でツイートしているとSPAMっぽいから止めるよ、というエラー内容なので、それに合った対策をすればOK。
Twitterは手動でもAPI経由でも、全く同じ内容のツイートの連続投稿を止めるようになっています。
手動でTwitterにポストして多重クリックで止められたことってないですか?

Twitter側でツイートするアカウントの以前のアカウントを数ツイートチェックして、全く同じなら弾いてるだけなんです、これ。
ということは・・・なんでもいいのでタイミングで変わる内容をツイートに付加してあげれば基本このエラーは回避できます。

PHPで書くならrand()でもいいし、microtime()使ってもいいいし・・・。
スペースを任意の数追加するだけでもある程度までいけます。
けれどスペースの数を1から10までやっても10パターンしか取れないし、ただでさえ文字数制限のあるTwitterですから、あまり余計な文字列は入れたくない・・・そうすると、一番バリエーションが取れるのはなんだっけ?って話ですね。

具体的なコードを書くとSPAM助長と取られかねないので書きませんが、そういう方法で思った以上に簡単にこのエラーは回避できます。

この記事が気に入ったら
いいね!お願いします