kintoneでISBNから書籍情報を自動で登録する

kintoneで、書籍の管理アプリを作成しました。

いわゆる「ブクログ」などの、書籍を「欲しい」「読んでる」「読了」などとステータス管理して、重複購入などを防ぐサービスですね。kintoneで作ってみました。

画面設計は次の通り。

kintone書籍管理アプリの画面設計

ポイントは、一番上の「ISBN」にだけデータを入れたら、登録時に書名やサムネイル画像などは引っ張ってくると言うしくみです。

また、ISBN入力欄の下にあるのは「スペース」です「thumbnail」というIDが振ってあります。ここに、書影を表示するしくみです。

書籍情報は Google Books APIs

書籍情報は、Google Books APIsを使いました。Amazonや楽天に比べて、使い方が非常に簡単です。(ただし、どの程度の書籍のデータ量があるのかは、検証できていません)

次のようなURLを投げるだけで、JSONデータが返ってきます。

https://www.googleapis.com/books/v1/volumes?q=4839954860

これを受け取って、kintoneのデータに投入します。非同期通信となるため、Promiseを利用する必要があります。Promiseについては、別のエントリーにします。

サムネイルを表示するしくみ

サムネイル画像は、kintoneの容量を使わないように Google BooksのURLだけを格納し、それを先のスペースに表示させました。

次のようなプログラムになります。

    kintone.events.on('app.record.detail.show', function(event) {
        var record = event.record;
        var output = kintone.app.record.getSpaceElement('thumbnail');
        output.innerHTML = '<img src="' + record['サムネイル']['value'] + '">';

        return event;
    })

バーコードリーダーと組み合わせて、さくさく登録

手元にバーコードリーダーがあると、作業がよりはかどります。

ISBN入力欄にカーソルを合わせて、書籍のバーコードをスキャンすれば ISBNが自動で入力されるので、登録するだけで書名などもすべて登録完了。大量の書籍がある場合に、これは便利です。

ソース全文はこちらから。

これで、積ん読な書籍も管理できそうです。