Unformed Building

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

公開:
更新:

パーマリンク

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コードが使われているので、同様にレビュー一覧ページへのリンクも作れます。

以上で終わりです。