Amazon Web サービス
Amazon.co.jp では「Amazon Web サービス」という、提供している商品のメタデータを XML/XSLT/SOAP 形式で取得できる機能があるのだけど、それを使って ASIN/ISBN コードを入力してやるとその商品の画像イメージ(jpeg)を返す php スクリプトを書いてみた。元ネタは船田戦闘機氏のスクリプトですw
header("Content-type: image/jpeg"); // -- Pre processing // Get ASIN or ISBN code $asin = $_GET["code"]; // Developer Token (If you using this script, get first devtoken from Amazon.com) $devtoken = '**************'; // Get XML file $xml = file("http://xml.amazon.com/onca/xml3?t=webservices-20&dev-t=$devtoken&AsinSearch=$asin&type=heavy&f=xml&locale=jp"); // -- XML processing // XML parser settings $parser = xml_parser_create(); // Array to String convert $xmlstr = implode('', $xml); // XML metadata to Array xml_parse_into_struct($parser, $xmlstr, $value, $index); // XML parser free xml_parser_free($parser); // -- image processing // Get image $img = imagecreatefromjpeg($value[$index['IMAGEURLMEDIUM'][0]]['value']); // Output image data imagejpeg($img);
上記プログラムを動作させるには、GD ライブラリが必須なのとココからデベロッパートークンを取得し、スクリプト中に記述する必要がありますので注意!!
使い方は、
http://yourserver/amazonimage.php?code=(ASIN or ISBN コード)
という感じです。GD を使って IMG タグで使えるように image/jpeg のデータが直接渡されるように作りましたが、スクリプト中に IMG タグを埋め込むような感じに作りかえると GD が不要になり手軽に扱えるようになると思います。
ちなみに SDK と船田氏のスクリプトを読みながら作るのに3時間くらいかかりました…XML データを取ってくるときの言語ロケールの設定でハマると思う。