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

コメント