あと5日だぞゴルァ!!
ってAmazonからメール来てたので対応してみました。
ぎりぎりにならないとやらない。。
夏休みの宿題といっしょです。
というわけで今まで渡してたparamとシークレットキーを渡すと
アクセスURLを返してくれる関数。
完全に自分用。
引数や返り値はその都度変えるといいよね。
ちなみにparamにはこんな感じのデータを。
検索にあわせて変更。
ってAmazonからメール来てたので対応してみました。
ぎりぎりにならないとやらない。。
夏休みの宿題といっしょです。
というわけで今まで渡してたparamとシークレットキーを渡すと
アクセスURLを返してくれる関数。
完全に自分用。
引数や返り値はその都度変えるといいよね。
function amazonSignature ($param=array(), $secretKey="") {
$aws = array("host" => "webservices.amazon.co.jp", "path" => "/onca/xml");
ksort($param);
$reqParam = array();
foreach ($param as $key => $val) {
$reqParam[] = $key . "=" . rawurlencode($val);
}
$paramStr = implode("&", $reqParam);
$str = implode("\n", array('GET', $aws["host"], $aws["path"], $paramStr));
$sig = rawurlencode( base64_encode( hash_hmac("sha256", $str, $secretKey, true)));
$reqParam[] = "Signature=" . $sig;
$url = "http://" . $aws["host"]. $aws["path"] . "?" . implode("&", $reqParam);
return $url;
}
ちなみにparamにはこんな感じのデータを。
検索にあわせて変更。
$param = array(
"Service" => "AWSECommerceService",
"AWSAccessKeyId" => "YOUR ACCESS KEY",
"Operation" => "ItemSearch",
"SearchIndex" => "Books",
"ResponseGroup" => "Medium,Tracks",
"BrowseNode" => "465610",
"Timestamp" => gmdate("Y-m-d\TH:i:s\Z"),
);
