Amazon アソシエイト isbnで検索するための関数
Amazon アソシエイト isbnで検索するための関数がようやく出来上がりました。
少々苦労しましたが、このページを参考にさせていただき無事完成しました。
[php]
function getAmazonBookInfo_isbn($isbn){
$xml = new stdClass;
// 必要なパラメータを揃える
$service = ‘AWSECommerceService’;
$access_key_id = ‘○○○○○○○○○○’; //アクセスキーID
$associatetag = ‘○○○○○○○○○○’; //アフィリエイトタグ
// パラメータの設定
$searchindex = ‘Books’; // all Books
$responsegroup = ‘Large’; // Images Medium Large
$isbn = rawurlencode($isbn);
//時刻認証パラメータ(Timestamp)作成
$timestamp = gmdate(‘Y-m-d’) . ‘T’ . gmdate(‘H:i:s’) . ‘Z’;
$timestamp = rawurlencode($timestamp);
//Amazon指定の順序でパラメータを並べる
$parameters = "AWSAccessKeyId=$access_key_id&AssociateTag=$associatetag&IdType=ISBN&ItemId=$isbn&Operation=ItemLookup&ResponseGroup=$responsegroup&SearchIndex=$searchindex&Service=$service&Timestamp=$timestamp&Version=2011-08-01";
//署名認証パラメータ(Signature)作成
$secret_access_key = ‘○○○○○○○○○○’; //シークレットアクセスキー
$host = ‘ecs.amazonaws.jp’;
$path = ‘/onca/xml’;
$string = "GETn$hostn$pathn$parameters";
$signature = rawurlencode( base64_encode(hash_hmac(‘sha256’, $string, $secret_access_key, true)) );
//ベースURLとリクエストパラメータを結合
$baseurl = ‘http://ecs.amazonaws.jp/onca/xml’;
$url = "$baseurl?$parameters&Signature=$signature";
//XMLパース
$xml = simplexml_load_file($url);
return $xml;
}
[/php]