Written by Manabu Bannai

書籍検索APIはGoogleBooksAPIsがオススメ【導入も楽ちんです】

PROGRAMMING

書籍検索APIといえば、下記3つが有名です。

最近(2016年10月)は書籍検索のサービスを作っていたので一通り触ってみたのですが、結論としては、Google Books APIsがベストです。

書籍検索APIの比較表を作りました

メリット デメリット
楽天 検索結果がショボい
Amazon 検索結果が高品質 連続でクエリを送ると停止する
Google 検索結果が高品質 特になし

なお、楽天ブックス系APIをPHPで使うなら、下記ライブラリが便利です。※このライブラリは、あなたの人生を変えた本というサービスに導入しています。
» rakuten-ws/rws-php-sdk

また、Amazon Product Advertising APIの使い方は下記記事で解説していますが、クエリを送りまくるとスグ停止するのでオススメできません。
» Amazon API Library:apai-ioの使い方とサンプルコード

今回はGoogle Books APIsの使い方を説明していきます。

Google Books APIsはコード1行で使える

なんと、API利用の登録は不要です。

https://www.googleapis.com/books/v1/volumes?q=【ここに書籍名】

上記のとおり。
試しに下記をクリックしてみてください。JSONデータが返ってきます。
https://www.googleapis.com/books/v1/volumes?q=東野圭吾

※補足:JSONデータを見やすくするChrome拡張機能
ChromeでJSONデータを見やすくするために、下記の拡張機能の導入をオススメします。
» JSON Viewer

PHPで使う場合のサンプルコード

下記の感じです。

$data = "https://www.googleapis.com/books/v1/volumes?q=東野圭吾";
$json = file_get_contents($data);
$json_decode = json_decode($json);

// jsonデータ内の『entry』部分を複数取得して、postsに格納
$posts = $json_decode->items;
var_dump($posts);

『googlebooks api Cannot determine user location』というエラーの対処方法

ローカル環境では正常に動いたのにサーバーアップロードしたら動かなくなった場合は下記をクエリに国名をいれると動きます。

https://www.googleapis.com/books/v1/volumes?q=東野圭吾&country=JP

以上となります。

Google Books APIsは下記サイトに導入していますので、気になる方は動作確認してみてください。※Faacebookログインのあるサービスですが、ログインするだけの場合は個人情報を一切取得しません。
» Book That Changed Your Life

※P.S:無料メルマガで発信中:過去の僕は「ブログ発信で5億円」を稼ぎました。次は「30億円」を目指します。挑戦しつつ、裏側の思考を「メルマガ」から発信します。不満足なら1秒で解約できます。無料登録は「こちら」です。