Amazon API更改商店

时间:2013-10-26 18:52:02

标签: amazon-web-services

我有亚马逊API,它运行正常。但输出总是来自美国商店(amazon.com),但我想从英国商店(amazon.co.uk)获得它应该怎么做?

$AWSAccessKeyId = "KEYID";
$SecretAccessKey = "ACCESKEY";

$ItemId = "12345"; // ASIN and ISBN10 or ISBN13

if(strlen($ItemId)>=13){
    $ItemId = isbn13to10($ItemId);
}

$Timestamp = gmdate("Y-m-d\TH:i:s\Z");
$Timestamp = str_replace(":", "%3A", $Timestamp);
$ResponseGroup = "ItemAttributes,Offers,Images,Reviews";
$ResponseGroup = str_replace(",", "%2C", $ResponseGroup);

$String  = "AWSAccessKeyId=$AWSAccessKeyId&AssociateTag=notUsed&";
$String .= "ItemId=$ItemId&
Operation=ItemLookup&
ResponseGroup=Offers&
Service=AWSECommerceService&";

$String .= "Timestamp=$Timestamp&
Version=2009-01-06";

$String = str_replace("\n", "", $String);

$Prepend = "GET\nwebservices.amazon.com\n/onca/xml\n";
$PrependString = $Prepend . $String;

$Signature = base64_encode(hash_hmac("sha256", $PrependString, $SecretAccessKey, True));  
$Signature = str_replace("+", "%2B", $Signature);
$Signature = str_replace("=", "%3D", $Signature);

$BaseUrl = "http://webservices.amazon.com/onca/xml?";
$SignedRequest = $BaseUrl . $String . "&Signature=" . $Signature;

$XML = simplexml_load_file($SignedRequest);

1 个答案:

答案 0 :(得分:0)

啊,这很容易......人们不会指望这么容易......

$Prepend = "GET\nwebservices.amazon.co.uk\n/onca/xml\n";
$BaseUrl = "http://webservices.amazon.co.uk/onca/xml?";
相关问题