Product Advertising API

2019年7月10日

AmazonのProduct Advertising APIで書籍を検索するサンプル

<?php
header("Content-type:text/html;charset=utf8");

//データセット部
//セキュリティーキーをセット
$secret_key = 'セキュリティーキーを記述';
//エンドポイントをセット
$endpoint = 'http://ecs.amazonaws.jp/onca/xml';
$query_array = Array('Service' => 'AWSECommerceService', //サービス名をセット
	'Operation' => 'ItemSearch', //オペレーション種別をセット
	'AWSAccessKeyId' => 'アクセスキーを記述', //アクセスキーをセット
	'AssociateTag' => 'アソシエートタグを記述', //アソシエートタグをセット
	'SearchIndex' => 'Books', //サーチインデックスをセット
	'Keywords' => '検索キーワードを記述', //検索キーワードをセット
);
//タイムスタンプをセット
$query_array['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z');

//データ生成部
//エンドポイントをホスト名とパスに分離
$url_array = parse_url($endpoint);
//クエリ用データをソート
ksort($query_array);
//クエリ用文字列を初期化
$query_str = '';
while (list($key, $value) = each($query_array)) {
	//クエリ用文字列を生成
	$query_str = $query_str . $key . '=' . rawurlencode($value) . '&';
}
//署名用文字列を生成
$str = 'GET' . "\n" . $url_array['host'] . "\n" . $url_array['path'] . "\n" . substr($query_str, 0, -1);
//署名用文字列をエンコード
$signature = base64_encode(hash_hmac('sha256', $str, $secret_key, true));
//URLを生成
$url = $endpoint . '?' . $query_str . 'Signature=' . rawurlencode($signature);

//サービスアクセス部
$xml = file_get_contents($url);
print_r(simplexml_load_string($xml));
?>

参考:

最速で Amazon Web Services の Product Advertising API を使って商品検索をしてみよう | ウェブル
http://weble.org/2011/10/11/aws-product-advertising-api

[PHP] Amazon Product Advertising API で認証付きリクエストを送る方法まとめ – RinGoon POP!!
http://ringoon.jp/2009/05/09/memo-amazon-product-advertisin.html

開発PHP

Posted by ikaken