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:

tiger said...

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

Anonymous said...

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

Anonymous said...

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

jircas said...

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

江添亮 said...

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

Anonymous said...

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

Anonymous said...

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

江添亮 said...

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