Emobile向け GoogleReader ゲートウェイ前編、Google Reader API に付いて
id:yuum3:20070907:1189235192 で書いた、Emobile向け GoogleReader ゲートウェイをここ2日ほど作くっていました。
このゲートウェイはCGIで、Emobileからアクセスすると Google Reader API でGoogleReaderから情報を取ってきて、Emobileに最適なページを作り Emobile から快適に Google Reader を使えるものです。
ただし、このゲートウェイの機能は、私の Google Reader の使い方を反映したもので全ての人に快適かどうかは判りません ^^;
使い方はこんな感じです。
- 1) アクセスすると、購読してるRSSのカテゴリー一覧が表示される
- 2) カテゴリーを選択すると、そのカテゴリーに含まれるRSSが表示される。タイトル、リンク以外にサマリー、本文があれば一緒に、表示される。 ここでStarマークを付けたりできる。また表示されたカテゴリーのRSSを全て既読にできます。
- 3) リンクをクリックすると、そのBlog等が別タブに表示される
まだ、改善の余地がたくさん、たくさんあるのでソースの公開はもう少し先になります。
今日は使ってる Google Reader API に付いて書きます。 Google Reader API に付いては http://www.niallkennedy.com/blog/archives/2005/12/google_reader_a.html に書かれていますが、それ以外のAPIも使っています。
- RSSのカテゴリー一覧 とその数の取得
http://www.google.com/reader/api/0/subscription/list?output=json
購読している全てのRSSフィードのGoogleReaderのID、タイトル、カテゴリー等が取得できます。output=json を付けない場合は結果はXMLで戻ってきますが、JSONの方が扱いが楽なのでJSON形式で取得します。
- RSS毎の未読記事数の所得
http://www.google.com/reader/api/0/unread-count?all=true&output=json
購読しているRSSフィード毎のGoogleReaderのID、未読フィード数が JSON形式で取得できます。
上の2つを合わせると、カテゴリーの一覧と未読数のリストが作れます。
- カテゴリー単位でのRSSフィードの取得
http://www.google.com/reader/atom/user/ユーザーID/label/カテゴリー名?n=件数
ユーザーIDはGoogleReader内でのユーザーのIDで、最初にHTMLページをアクセスし、中のJavascript に書かれている_USER_IDの値を覚えておきます。
<script type="text/javascript"> _USER_ID = "09896123456789012345"; _COMMAND_TOKEN = "X3VJAhUBAAA.F0xPAMoPnf22iDmgNu4XYw.Bge-rRVT00O4tVBE05rnyA"; _COMMAND_TOKEN_EXPIRES = new Date().getTime() + 1800000; _USER_NAME = "裕美"; ....
結果はatom形式で、新しいRSSフィードから順に並んでいます。n=を指定しないと 20 個取得できます。
それから、_COMMAND_TOKENの値は、Star付けなどのAPIで認証(?)用に使うのでこれも覚えておきます。
後半へ続く(そのうちに書きます)・・・・・・