Emobile向け GoogleReader ゲートウェイ前編、Google Reader API に付いて

id:yuum3:20070907:1189235192 で書いた、Emobile向け GoogleReader ゲートウェイをここ2日ほど作くっていました。

このゲートウェイCGIで、Emobileからアクセスすると Google Reader APIGoogleReaderから情報を取ってきて、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つを合わせると、カテゴリーの一覧と未読数のリストが作れます。

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で認証(?)用に使うのでこれも覚えておきます。




後半へ続く(そのうちに書きます)・・・・・・