2012-03-16

TwitterのAPIに大幅な変更が来る

API Housekeeping | Twitter Developers

今日、Google ReaderがTwitterのユーザーへのURLから、フィードのためのURLを自動生成する挙動が止まっていることに気がついた。昨日あたりまでは確かに動いていたはずなのに、何故だろう。仕方ないので、Twitter APIを調べて追加した。Twitter APIの利用は非常に簡単だった。

やれやれと安心していたら、このアナウンスだ。

API Housekeeping | Twitter Developers

5月14日をもって、バージョン番号がないAPIはすべて廃止される。deprecatedなAPIも廃止される。ATOMフォーマットも廃止される。RSSは残るらしい。やれやれ。

さて、これで気になるのはGoogle Readerだ。Google Readerは、TwitterのユーザーのURLを渡すと、そこからなぜかドキュメント化されていないAPIを使う。

http://twitter.com/statuses/user_timeline/xxx.rss

という形式のものだ。xxxにはユーザーIDが入る。しかし、Twitterのドキュメントには見当たらない。どういうことだろう。それに、バージョン番号もない。つまり、あと一ヶ月で、既存のフィードは動かなくなる。

ひょっとしたら、Google Readerがいま、TwitterのURLからフィードURLを自動生成しないのは、これに対処するためではあるまいか。

しかし問題は、Google Readerに登録されている既存のフィードだ。Google ReaderからTwitterを購読している人間は少なからずいるはずだ。だからこそGoogleは、自動的な変換を提供していたのだろう。これを一体どうするつもりだろう。既存のフィードに対して変換をかけるのだろうか。

それに、バージョン番号のないAPIはまだ広く使われているはずだ。それが後一ヶ月で動かなくなる。Twitterを嫌う私のような人間ですら、Twitterの購読を強いられるほど、今の世はどこもかしこもTwitterなのだ。これはかなり差し迫った危機である。

この業界では、下位互換性は非常に重要であり、必ず守らなければならない。しかし、Twitterが下位互換性を失うような変更をしたのは、たしかこれが初めてではない。前にもあったはずだ。やれやれ、これだからTwitterは信頼できぬのだ。

8 comments:

  1. APIというより、RESTful のような気がする。もともと ruby 使ってたみたいだし・・・

    ReplyDelete
  2. Google Realder は APIじゃなくてただの RSS auto-discovery でフィードを見つけてるだけのような気がします。
    curl https://twitter.com/USER_ID | grep rss
    とでもやれば、フィードのURL提供しているのがわかりますよ。

    ReplyDelete
  3. (追記)なので、URL変更時には auto-discovery が新しいURLをさすようになって、古いURLに対しては HTTP STATUS 301 が返されれば RSS Reader も困らないはずです。

    ReplyDelete
  4. はじめまして
    たまたま、検索していて、このブログに行き着きました。
    なんか、おもしろそうなブログですね。
    これからもよろしくお願いします。

    ReplyDelete
  5. いや、ソース見れば分かると思いますが、twitterはユーザーのURLではフィードへのURLを提供していません。

    ReplyDelete
  6. curl https://twitter.com/USER_ID | grep rss をやったらフィード URL 出てきたけど・・・

    ReplyDelete
  7. https://twitter.com/#!/USER_ID
    の方のソースを見てるなら当たり前ですがフィードURL出てこないですね。
    おかげでブラウザから登録しづらい……

    ReplyDelete
  8. ああ、ブラウザだとリダイレクトされてるのか。
    確かにありますね。

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.