ツイッター新API関連


APIv1.0廃止等、Twitter仕様変更について  2012/10/15〜2013/06/14


APIv1.0 撤廃完了: 2013年6月11日 午後1時30分〜3時30分頃
                        日本時間:6月12日 午前5時30分〜7時30分頃




2013年6月12日以降、APIv1.0廃止によりbotが停止している場合には
APIv1.1対応版にアップデート(バージョンアップ)して下さい。


 ※ 自分のキャラボットサーバではなく借りている場合には、サーバの管理人さんに
  APIv1.1対応版にしてくれるようお願いしてみて下さい。


APIv1.1対応版

charactorbot.v1.06.001 or charactorbot.v1.06.002.beta(公式)

Windows初心者向け-バッチファイルを使用したキャラボット簡易デプロイパッケージ版インストールの図解入り解説(Don't forget meさん)

Windowsユーザーの為の、キャラボット簡易デプロイパッケージ版インストールの図解入り解説(Don't forget meさん)


* オマケ *

EasyBotterバージョン2.1.2(EasyBotter - プログラミングができなくても作れるTwitter botの作り方さん)



※ ツイッターAPI変更カレンダー → Calendar of API changes(英語)


サンフランシスコ時間: 5月22日 20:00〜21:00(日本時間:5月23日)4回目のAPI1.0廃止実験実施


サンフランシスコ時間: 4月16日(日本時間: 4月17日)3回目のAPI1.0廃止実験実施


サンフランシスコ時間: 3月20日(日本時間: 3月21日)2回目のAPI1.0廃止実験で実施されたもの

 ① 1回目同様 API1.0廃止実験 : API1.1 未対応クライアントに HTTP 410(Gone 消滅) が返る

 ② OEmbed v1.0廃止実験 : (OEmbed とは、Webサイト等にツイートの埋め込みが出来るようにするもの)

 ② ベーシック認証の Streaming API サポート停止



新API1.1に関連し、サンフランシスコ時間3月5日(日本時間3月6日)に実施されたもの

 ① @Anywhere の廃止
      参照→ Sunsetting @Anywhere

 ② API1.0廃止実験:3月5日で撤廃になるのではなく、3月5日にAPI1.0廃止テストと変更
      ツイッターでは実行スケジュールのアナウンス確認のため @twitterapi のフォローを推奨
      今後も何度かテストされる予定のようですが、詳細なスケジュールは現時点では未定
      参照→ Planning for API v1’s Retirement


投稿クライアント名表示(〜から とか via〜)の廃止、相対時間表示の徹底など
ツイッター本家は勿論ですが、ツイッタークライアントの一部でも変更や影響が出始めており
2012年10月11日には旧API(Ver.なし)が廃止となり、非対応だったbotが止まる騒ぎになりました。

2012年10月の旧API廃止の影響は、既に対応済だったキャラボット(v1.5系)には出ていませんが
2013年3月には、現在のAPI(Ver.1.0)が廃止 の廃止実験が開始され、最終的に新API(Ver.1.1)へ移行されます。
 (2013年3月中か実験終了までは、Ver.1.0とVer.1.1の併用)
2012年10月のAPI騒ぎを受け、キャラボットはどうなるの?という声も一部であったようですが
2013年3月までにキャラボットの新Ver.をリリースする予定のようです。

2012年11月18日:キャラボットの新Ver.1.6系がリリースされました。


追記:2012年11月26日:APIv1.1の規制が厳しいため対応版がリリースされました。

   ※ アップデート後、数時間〜半日程度botを一時停止させた方が割とスムーズに動き出すようです。



また、今回多くのbotが停止したEasyBotterについてですが
  (キャラボとEBを併用されてる方もいると思いますので、キャラボットのログですが記載しておきます)
EasyBotter APIv1.1対応版がリリースされたようです。

EasyBotter APIv1.1対応版 (若干動作不安定。随時訂正更新されているもよう)


しかし、新API(Ver.1.1)に対応させても、今回のツイッター仕様変更は利用者に非常に厳しいです。
  ※ 参考記事
     Twitter API 1.1




新API v1.1の注意点



新API(Ver.1.1)に対応したキャラボットがリリースされましたので
ツイッターの新しい仕様について、参考程度にザックリとまとめてみます。



 ① これまでは1時間に350回リクエストできましたが、新APIは1時間に60回で
     15分毎にリミットが来ます(15分で15回のリクエスト)。


 ② APIのリミットは、アカウント毎ではなく、エンドポイント毎の設定です。
     (この場合のエンドポイントは、https://api.twitter.com/1.1/statuses/*****.json などREST API v1.1 Resources)


     各API毎の制限設定なので消費される早さに違いが出た場合、呟きはするがリプライには反応しないということも起きます。
     (リミットに達した場合、エラーログに HTTP 429 が返され、"code": 88 、 "message": "Rate limit exceeded" が表示されます)

     そのため、もしも、1botアカウントで綿密な返信を行うべく複数のキャラボットを動かし、尚且つ、Cronの設定を
     1分間隔等の短い間隔にしている場合には、それぞれが home_timeline や mentions_timeline などの
     各APIに1分毎にリクエストする可能性があるため、リクエストの集中したAPIはあっという間に消費されてしまい
     botが不具合を起こして停止したような状態になる可能性があります。
     REST API v1.1 Resources にリクエストするアプリが多ければ多いほど、botの読み書きに不利に働きます。

     それ以外にも、リクエスト数が多すぎるとツイッター側から判断された場合には
     Blacklisting に入れられてしまう場合があり、ツイッターからその旨のメールが届くことがあります。


 ③ クライアント等を利用してbotの中に入る場合にはbotの一時停止が望ましい?

     ツイッタークライアント(サードパーティ)もAPI1.1に対応することが義務付けられています。
     それに従い、主だったツイッタークライアントが日を追って仕様変更に対応させていっています。

     まだ未確認な部分が多いのですが、API1.1のリミットはエンドポイント毎の設定のため
     アプリ毎に割り振られているような形にもなり、仮にAというクライアントでリミットに達しても
     Bというクライアントに変えれば、TLの更新等を行える可能性があります。

     もしもツイッタークライアント等を用いてbotの中に入って会話する場合には、クライアントのリソースを利用し
     bot用のREST API v1.1 Resourcesを無駄に消費しないようbotを一時停止するのが望ましいと思われます。
     

     公式ページはAPI制限が無いので公式ページを利用するか、ユーザーストリームの使えるツイッタークライアントを
     使用すれば、ストリーミングAPIは従来通りなので、REST API v1.1 Resources の消費を抑えることが出来ます。
     モバイルの場合は公式のツイッタークライアントだと他のクライアントよりもAPI制限が緩くなっているようです。
     ※追記:公式クライアントもゆくゆくは15回/15分になるようです。

     botの REST API v1.1 Resources にリクエストする回数が多ければ多いほど、botの読み書きに不利に働きます。


※ キャラボットのAPIv1.1規制対応修正版が出ましたが、APIv1.0と同等に動かすのはかなり厳しいです。


     一度規制されてしまうと、リクエスト回数を減らしても(分数を遅くしてCronの間隔を空けても)
     回復までに少し時間がかかるようです。
(それだけツイッター側は負荷軽減に神経質になっているともとれます…)

     ですので、API制限に達し解除時間が経過してもbotが動かないときには

      半日程度botを停止させてみる

      3分や5分など動作間隔を空けて遅くしてみる (リクエスト回数を減らす)

      TL反応を減らしてみる

      1tokenで複数のボットアプリを稼働している場合には数を減らすか、それぞれにtokenを取得する

      botの中に入るときは REST API v1.1 Resources が無駄に消費されないようbotを一時停止してみる

     など、出来る範囲、動く範囲で行なってみて下さい。


 ④ 利用状況によりツイッターの負荷が上がった場合には、更に制限が厳しくなります

     その場合、告知等はありません。(クジラ等が出たらフラグにはなるかもですが…)
     どの程度の制限になるかはツイッター側の判断なのでわかりませんし、こちらには知らされません。

     この場合は一時的な制限なのですが、利用者には一時的なものなのか恒久的なものなのか分かりませんので
     botの調整は様子を見ながら各々で判断して下さい。

  • 最終更新:2013-07-01 10:31:25

このWIKIを編集するにはパスワード入力が必要です

認証パスワード