【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
以上です。