私のように、およそフィード可能なものはすべてGoogle Readerで読みたい人間は、TwitterもGoogle Reader経由で読む。いつもなら、何も考えずにユーザーのURLをsubscribeに放り込めばいいのだが、どうも今日はGoogle Readerでは、なぜか動かない。そこで、手動でやることにした。
TwitterはHTML内にフィードURLを指定していないが、フィードURLはREST APIを使うことで作成できる。使うAPIはこれだ。
GET statuses/user_timeline | Twitter Developers
http://api.twitter.com/1/statuses/user_timeline.formatがURLである。対応しているformatはXML、JSON、RSS、ATOMである。ただし、XMLやJSONでは、引数にinclude_rtsを含めないとRTは取得できない。今回はフィードURLを作りたいので、RSSかATOMを使う。ユーザーを指定するために、引数として、user_idかscreen_nameを与えてやればよい。user_idの取得は面倒なので、screen_nameを使うほうが簡単だ。
たとえば@twitterのフィードURLをRSSとして得たかったら、以下のようになる。
http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=twitter
もちろん、SSLも可能だ。
https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=twitter
追記:ATOMフォーマットは5月に廃止される。詳しくは、API Housekeeping | Twitter Developersを参照。
もし、読者が原理主義者ならば、ATOMを使うこともできる。
https://api.twitter.com/1/statuses/user_timeline.atom?screen_name=twitter
しかし、最近はRSSとATOMの論争も聞かなくなった。大抵のサイトでどちらもサポートしているが、結局使われるのは、RSSの方が多い。なにしろRSSが先発なのだから、そのぶん知名度も高い。xkcd: Standardsを思い出す。
ちなみに、Google Readerが自動的に使っていたのは、どうも不思議なAPIで、http://twitter.com/statuses/user_timeline/user_id.rssとなっている。user_idの部分を適切なuser_idで置き換える。
また、GET search APIを使えば、エゴサーチが簡単にできる。例えば、このブログに言及しているtweetをすべてみるには、以下のようなURLを使えば良い。
http://search.twitter.com/search.rss?q=cpplover.blogspot.com&result_type=recent
ATOM は 5 月で消えるはずです https://dev.twitter.com/blog/api-housekeeping
ReplyDeleteうへぇ、今月の6日発表とは。
ReplyDeleteもしかして、Google Readerがいま受付ないのって、この対応に追われているからじゃないだろうか。
しかし、既存のdeprecatedなURLで登録されているフィードはどうするんだろう。
変換するんだろうか。
Lovely work! I'm definitely going to visit the blog frequently.
ReplyDelete1987 Mazda RX7 AC Compressor