Read it LaterのAPIを使って未読リストを取得する
あとで読む系のサービスといえば「Instapaper」と「Read it Later」が有名ですが、私は後者のヘビーユーザーです。iPhoneのBylineというGoogleリーダーを読むことのできるアプリで、通勤の時間とかに溜まったフィードを読んで、しっかり読みたい場合はRead it Laterに飛ばして家のPCでじっくり読むという使い方をしています。
Read it LaterにもAPIがあることを知ったのでちと試してみました。といっても未読リストをとってきてリンクリストを表示するだけの簡単なものです。GETリクエストを送ってXMLかJSONの形式で結果を返してくれます。もうこの手のAPIでは常套手段ですね。始め、XMLで結果を取得しようとしたのですが、整形式のXMLを返してくれません。XMLではルート要素は必ず一つという約束があるのですが、このXMLだとルート要素が4つ(status,list,since,complete)あります。これだとsimplexml_load_stringとかでパースしてもエラーとなってしまうのでJSON形式でデータを取得することにしました。
[xml light=”ture”]
[/xml]コードはこんな感じです。必須とかいてあるものはリクエストする際に必ず必要なものです。json_decodeの戻り値はオブジェクトなので要素のアクセスがラクチンです。
[php]
list as $item) {
echo ‘url . ‘” target=”_blank”>’;
echo $item->title . “
“;
}
?>
[/php]返ってくるJSONはこんな感じになります(2アイテムのみ表示)。
[javascript]
{
“status”: 1,
“list”: {
“37665062”: {
“item_id”: “37665062”,
“title”: “Doctrine – MongoDB Object Document Mapper”,
“url”: “http:\/\/www.doctrine-project.org\/projects\/mongodb_odm”,
“time_updated”: “1282906537”,
“time_added”: “1282906537”,
“state”: “0”
},
“45417238”: {
“item_id”: “45417238”,
“title”: “50 Stunning Examples of Photo Manipulation Art”,
“url”: “http:\/\/www.noupe.com\/inspiration\/50-stunning-examples-of-photo-manipulation-art.html”,
“time_updated”: “1282906499”,
“time_added”: “1282906499”,
“state”: “0”
}
},
“since”: 1282969845,
“complete”: 1
}
[/javascript]ブラウザで実行するとこんな感じで表示されます。リンクを表示させただけなのですごく味気ないですね(;^ω^)あまりに味気ないのでサムネイルを表示するAPIとはてなブックマークのAPIを組み合わせてみたのがコチラになります。
上記で使用したリクエストパラメータ以外にもいくつか条件を指定することができます。表にまとめておきます。
[table id=4 /]