【PHP】Product Advertising API でブラウズノード検索をする
どうも。
今回はプログラムの覚え書きです。ヽ(゜▽、゜)ノ
可能な限りピンポイントで商品検索をするために BrowseNodeId を取得してみた。
config.json
{ "access_key_id" : "**********", "secret_access_key" : "**********", "associate_tag" : "**********" }
amazon_api_test_01.php
<?php $access_info = json_decode(file_get_contents("../config.json")); $baseurl = "http://ecs.amazonaws.jp/onca/xml"; $params = array(); $params["AWSAccessKeyId"] = $access_info->access_key_id; $params["AssociateTag"] = $access_info->associate_tag; $params["BrowseNodeId"] = "2128664051"; $params["Operation"] = "BrowseNodeLookup"; $params["Service"] = "AWSECommerceService"; $params["Timestamp"] = gmdate("Y-m-d\TH:i:s\Z"); $params["Version"] = "2011-08-01"; // sort the parameters ksort($params); // create the canonicalized query $canonical_string = ""; foreach ($params as $param => $value) { $param = str_replace("%7E", "~", rawurlencode($param)); $value = str_replace("%7E", "~", rawurlencode($value)); $canonical_string .= "&" . $param . "=" . $value; } $canonical_string = substr($canonical_string, 1); // create the string to sign $method = "GET"; $host = parse_url($baseurl)["host"]; $path = parse_url($baseurl)["path"]; $string_to_sign = $method . "\n" . $host . "\n" . $path . "\n" . $canonical_string; // calculate HMAC with SHA256 and base64-encoding $signature = base64_encode(hash_hmac("sha256", $string_to_sign, $access_info->secret_access_key, True)); // encode the signature for the request $signature = str_replace("%7E", "~", rawurlencode($signature)); // create request url $request_url = $baseurl . "?" . $canonical_string . "&Signature=" . $signature; $xml = simplexml_load_file($request_url); echo $request_url."\r\n"; ?>
上記を利用して商品カテゴリツリーを辿って行くと・・・
BrowseNodeId | レーベル |
---|---|
2400894051 | GA文庫 |
2400895051 | HJ文庫 |
2400897051 | MF文庫J |
2400899051 | このライトノベルがすごい!文庫 |
2400901051 | ガガガ文庫 |
2400902051 | スーパーダッシュ文庫 |
2400904051 | ファミ通文庫 |
2400906051 | 一迅社文庫 |
2400908051 | 富士見ドラゴンブック |
2400909051 | 富士見ファンタジア文庫 |
2400913051 | 角川スニーカー文庫 |
2400914051 | 電撃文庫 |
2400916051 | 講談社ラノベ文庫 |
2400917051 | 星海社文庫 |
2400919051 | 電撃ゲーム文庫 |
2400922051 | KCG文庫 |
2508530051 | オーバーラップ文庫 |
こんな感じで取得できました。次はこれを利用してレーベルごとに商品検索を行い、タイトルなどを取得していけば・・・。
参考URL
以上です。