Google Reader APIの叩き方
叩き方というより叩く前段階の準備編だな。API 自体は ここ を参照。
すぐ忘れるのでメモ。
今回は curl で。curl は Mac OS X に標準装備なのだけど、初期状態では SSL が有効になっていないので、下の方法などで SSL を有効にしておく必要がある。
まず SID (Session ID) トークンというのを取得する。
curl -k https://www.google.com/accounts/ClientLogin -d Email=ユーザー名 -d Passwd=パスワード -d service=reader
そうすると、レスポンスがこんな感じで得られる。
SID=DQAAAGkAAADrLGLdO_-Vu4samY_4IMDF1G6QMN7ia0bzSFQ2MoE9qipNrほにゃらら LSID=DQAAAGoAAAAwSXfVCjSaa2TO9e7KXRkJDHplgBB1R_frWtY0CnptsGxmほにゃらら Auth=DQAAAGoAAAAwSXfVCjSaa2TO9e7KXRkJDHplgBB1R_frWtY0CnptsGxmほにゃらら
この SID というやつをコピーなりしておく。
次に T トークンというのを取得する。
curl -s http://www.google.com/reader/api/0/token --header "Cookie: SID=上で取得したSIDトークン"
レスポンスがこんな感じ。
xKe6LB4BAAA.IrjCxgJEYsg9rNVf0dd0awほにゃらら
これもコピーするなりしておく。
最後に、適当な Google Reader API を叩く。
例えばフィードの未読数一覧を取得するときはこう。
curl -s "http://www.google.com/reader/api/0/unread-count?all=true" --header "Cookie: SID=最初に取得したSIDトークン; T=次に取得したTトークン" | tidy -xml -indent -quiet
特定のフィードだけ翻訳して取得したりもできる。
似たような方法で Gmail の新着メールなんかも取れるかも。
Ruby なら Mechanize で自動で出来るんすかね。