ブクログのブログパーツ API で遊んでみた

Category : jQuery

JavaScript の勉強その3。
ブクログのブログパーツを見ていて気づいたんですが、データ自体は JSONP で取得しているようなので好きな形にできるんじゃないかと思ったので実際にやってみました。

jQuery を使った簡単なデモページを作ったのでどうぞ。

ブクログのブログパーツで遊んでみる DEMO

フォームのデータはデモページでデータを取得する以外には使っていません。
アカウントを持っていない方は、とりあえず俺のアカウント pnr とでも入力してみてください。

カテゴリーの ID はユーザーごとに違うみたいなので自分のアカウントページから探してください。
本棚のカテゴリーページ URL の category_id=??? の数字部分です。
俺のアカウントで試してみる場合は「Web系参考書」カテゴリの 625920 を使ってみてください。

JSONP の取得

ブログパーツ取得ページにいけば貼り付けコードに書いてありますが、JSONP は
http://api.booklog.jp/json/アカウント
で取れます。

使えるパラメータは以下の通り。

category
カテゴリーIDを指定する。
デフォルトは指定なし。
0 を指定するとカテゴリー指定なしになります。
count
いくつのアイテムを取得するか。
現時点でのデフォルトは 5 でした。
status
読書状況。指定できるのは 1, 2, 3 の数字。
  • status=1 が「読みたい」
  • status=2 が「いま読んでる」
  • status=3 が「読み終わった」
指定なし、もしくは 0 を指定するとすべての本。
デフォルトは指定なし。
rank
ランク。
その人が本棚に本を登録するときにつけたスター数。
  • rank=1 が「★」
  • rank=2 が「★★」
  • rank=3 が「★★★」
  • rank=4 が「★★★★」
  • rank=5 が「★★★★★」
指定なし、もしくは 0 を指定するとすべての本。
デフォルトは指定なし。

本棚ページは昇順・降順でソートできるから、この API でもできるかと試してみたけど駄目でした。

JSONP の中身

データは以下のようなもの。
ここでは自分のアカウントで上記の「Web系参考書」カテゴリーを取ってみました。

{
    "tana": {
        "id": "203839",
        "account": "pnr",
        "name": "\u307e\u3068\u308a\u3055\u3093\u306e\u672c\u68da"
    },
    "category": {
        "id": "625920",
        "name": "Web\u7cfb\u53c2\u8003\u66f8"
    },
    "books": [{
        "id": "23070917",
        "asin": "4839927081",
        "url": "http:\/\/booklog.jp\/users\/pnr\/archives\/4839927081",
        "title": "JavaScript\u30de\u30b9\u30bf\u30fc\u30d6\u30c3\u30af",
        "author": "\u5c71\u7530 \u7965\u5bdb",
        "image": "http:\/\/ecx.images-amazon.com\/images\/I\/41Ggo0kHVAL._SL75_.jpg",
        "width": "57",
        "height": "75",
        "catalog": "Books"
    },
    {
        ......
    }]
}

tana.name は名前だけじゃなくて「○○さんの本棚」なので注意。
カテゴリーを指定していない場合、category 部分は空になります。

本のデータはデータ名そのまま。
books.widthbooks.height は画像の大きさ。
width はアイテムによって違いますが、height75 で一定しているみたいです。

books.catalog は Books の他に DVD とか。


ASIN コードが入っているので、ちょっと加工すれば Amazon アソシエイトリンクを作れます。
それをやってみたのが以下のデモ。

ブクログのブログパーツで遊んでみる Amazon アソシエイト対応版 DEMO

また、ブクログのレビュー一覧ページの URL にも ASIN コードが使われているので、同様にレビュー一覧ページへのリンクも作れます。

以上で終わりです。

Leave a Reply