Twitter APIが酷すぎ、使い物にならない

またまたTwitter APIの愚痴です.
やっとAPIを使ったBotを作ったと思ったら Twitter APIの謎の仕様に悩まされています.


1.185 : ‘User is over daily status update limit’

これは、時間内に規定回数以上のリクエスト発生するエラー.

Tweetする場合だと、3時間に300回以上ツイートするとエラーになる. Botの初期段階でよく遭遇した、プログラムの修正で簡単に回避可能.


2.187 : ‘Status is a duplicate.’

過去数回と同じ内容のTweetをすると発生するエラー.

この同じ内容が曲者で、数文字違うだけでの内容だと発生する場合がある. Tweet内容に会社名があるため、似たような会社名だとよく引っかかっていた. ランダムに並び替えて、187が出ても無視することで解決.


3.89 : ‘Invalid or expired token.’

ここからTwitter APIの謎仕様が始まります.

サーバ側のTokenが消失することで発生するエラー.

特別な操作をしたわけでないのに、いきなりサーバ側Tokenが消失した… Twitter APIの管理画面してTokenを作成し直すことで解消するが、 発生原因不明が怖すぎる.


4.326 : ‘To protect our users from spam and other malicious activity, this account is temporarily locked. Please log in to https://twitter.com to unlock your account.’

アカウントが突然ロックされる。 エラー185を回避して作っているのに、spamと認定されてしまった.

Tweet回数が多すぎるのか、spamと認定される文字列が含まれていたのか.

そもそもBotとspamの定義が難しいのに、一体どうしたら良いのだろう?

Uncategorized

Posted by RV