Amazonと連携して自炊本を管理するおもちゃ作った

はいどーもこんにちわ。
Sony Reader PRS-T2を買ってから読書熱が上がり、久しぶりに自炊も再開しました。

で。
自炊書籍がごっちゃごっちゃになってきているので、管理するための何かを作ろうと思って、
・ISBNを入力すると
・Amazon(Product Advertising API)から書籍情報持ってきて
・それにステータス(裁断済みとかデータ作成済みとか)をつけて
・DBに保存し
・一覧表示できる
おもちゃを即席で作りました。

(APIの詳細は→Product Advertising API

amazon

なお、外部向けに公開するつもりはないのであしからず。。。

いつものごとくシステムはPHP+MySQLで構築しました。
最初、人力でごりごりAPI叩く部分を作っていたのですが、なかなかうまく行かなくて、結局↓これ使いました。
PEAR::Services_Amazon
車輪の再開発なんて…ね。

AmazonのAPIを叩くのは初めてですので、APIのアクセスキーを作るところからやりました。が。すでに米Amazonのアカウントを持っていたため、サクッと作れました。
初めての方はAccess Key IDとSecret Access Keyの取得 – Amazon Web サービスこのあたりが参考になるかと。

ぼくはISBN直指定の情報取得を使いたかったので、
[cc lang=”php” no_links=”true” lines=”23″]
setLocale(“JP”);
$amazon -> setVersion(“2011-08-02”);
return $amazon;
}

function ItemLookup($ISBN) {
$options = array(“ResponseGroup” => “Large”, “IdType” => “ISBN”, “SearchIndex” => “Books”);
$amazon = $this -> getAws();
$response = $amazon -> ItemLookup($ISBN, $options);
return $response[“Item”][0];
}

}
?>
[/cc]
こんなかんじにclassを作ってます。この規模なのでclassにする程でもないですが。。。
(access_key_id,secret_access_key,associate_tagは_config.phpにdefineしてあります。)
で、フロントからバックにISBNをajaxでPOSTし、バックでAWS::ItemLookupした結果から必要な情報だけをjsonに整形しフロントに返してます。

いつぞや昔に買ったUSBバーコードリーダーが大活躍です。
ピッてすると読み込んだコード+Enterが送信されるので、Submitボタンにしておけばピッってするだけで勝手に検索実行してくれます。(もちろん、そういうコードを書いてます。)

ちなみに、Product Advertising APIではキーワードからの検索もできますし、カートに突っ込んだりもできるようです。
(このシステムでは必要ないので使ってませんが)
なので、Amazonのフロントを使わずにAmazonの商品を使うショップも作れそうですね。

ほなまた。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください