B-Teck!

お仕事からゲームまで幅広く

TwitterのUser Streams API廃止について

Twitterは、8/16をもってUser Streams APIの提供を終了します。
移行先として、Acount Activity APIが提示されていますが、
ヘビーユーザーからは不満の声が上がっています。

今回は、なぜこれだけ騒がれているかを、知らない人向けにまとめてみようと思います。

そもそもAPIって何?

皆さんのツイートやリプライ、いいねやフォロー/フォロワーのリストなどは、
Twitterが持っています。
アプリケーションからそれらを利用したい場合に、システムから情報を取り出したり、
書き込んだりする仕組みをAPIといいます。
あなたがツイートボタンを押すと、書き込みAPIがTwitterのシステム内にツイートを書き込みます。
アプリケーションが、ツイート読み込みAPIでシステムからそのツイートを取り出すことで、
ツイートを表示することができます。

User Streams APIって?

User Streams APIは、これまでの間Twitterがユーザーに提供していた仕組みです。
一度、Twitterに情報を取りに行くと、
終了するまで下記の情報をリアルタイムで取得する事ができました。

  • タイムライン
  • ツイートの削除
  • DM の送信
  • 送信済み DM の削除
  • 他人からのフォロー
  • 自分のツイートの「お気に入り」登録
  • 公式 RT
  • リストへの登録・抹消
  • 自分のリストのフォロー / リムーブ

公式以外のTwitter向けアプリケーションでも、
タイムラインが快適に閲覧できるということで広く用いられていました。
これは、ユーザーにとって便利な反面、Twitter側にとっては情報を送り続けなければならない、
とてもコストがかかる仕組みでした。
また、広告等を配信することができないため、
Twitterにとってあまりメリットの有る形ではありませんでした。

Acount Activity APIって?

Twitter社が、User Streams APIを廃止する代わりに提供する仕組みです。
何が変わったのかというと、

  • リアルタイムでの情報配信を廃止し、取りに来たときだけ情報を渡すような仕組みに変更
  • タイムラインのツイートについては取得の代替案が提供されず、15分に15回の更新のみになる
  • User Streams APIが無料で利用できていたのに対して、こちらは実質有料
    • アプリケーションのユーザーが15人までの場合は無償
    • 16アカウントから250アカウントまではPremium版(339〜2899ドルの月額利用料金)
    • それ以上の利用の場合は「要問い合わせ」
      つまり、アプリケーション開発者に多くの負担がかかってくる形となります。

何が変わるの?

公式アプリケーション、Web、またはTweetDeck(Twitter社に買収されている)を除く、
多くのアプリケーションでツイート等の情報のリアルタイム読み込みが不可能になります。
公式以外では、15分に15回の更新以外に、タイムラインを更新する手段がなくなります。
今後の復帰もほぼ見込めないでしょう。

なぜ変わるの?

下記は推測半分なので読み飛ばしていただいても構わないのですが、おそらく

  • User Streams APIを維持するコストが無視できなくなった
  • User Streams APIでは広告を表示するのが難しいから

あたりだという説が有力です。

広告表示をせずTwitter社の収益とならない、
個人開発者のアプリケーションは締め出された形となります。

公式の説明としては、
こちらは1%未満の月間アクティブアプリで利用されているにとどまるため、本決定に至りました。
ということですので、今回のアップデートで混乱が起きている層は、
そもそもユーザーとしての対象外という結論であるのかも知れません。
Account Activity APIを全ての開発者の皆さんに公開

どうすればいいの?

現在は、Twitter公式アプリやwebがまともに時系列でタイムラインを表示してくれないので、
まともに並んだタイムラインを見たいのであれば、TweetDeck一択といった状況です。
TweetDeckは公式のアプリケーションなので、現在はツイートのリアルタイム表示にも対応しています。
今後のことを考えると安心はできませんが…。

参考:
Twitterサードパーティアプリは8月からリアルタイムのタイムライン取得が不可になる新API「Account Activity API」発表 - GIGAZINE