如何在php中使用亚马逊产品广告API检查亚马逊产品的库存?

时间:2013-12-10 14:09:00

标签: php amazon-web-services

有谁知道如何检查亚马逊产品广告API的亚马逊产品库存?

Plz不要分享API文档的链接..告诉我的方式..

我使用了以下代码来显示某些特定产品的结果。 指导我如何才能看到搜索产品的库存?

<?php 

define('AWS_ACCESS_KEY_ID', 'my-access-key'); 

define('AWS_SECRET_ACCESS_KEY', 'my-secret-key'); 

define('AMAZON_ASSOC_TAG', 'my-associate-tag'); 


function amazon_get_signed_url($searchTerm) 

{ 

$base_url = "http://ecs.amazonaws.com/onca/xml"; 

$params = array( 'AWSAccessKeyId' => AWS_ACCESS_KEY_ID, 'AssociateTag' => AMAZON_ASSOC_TAG, 'Version' => "2010-11-01", 'Operation' => "ItemLookup", 'Service' => "AWSECommerceService",  'ResponseGroup' => "ItemAttributes", 'ItemId'=> $searchTerm);

if(empty($params['AssociateTag'])) 
{ 
 unset($params['AssociateTag']); 
} 

// Add the Timestamp 

$params['Timestamp'] = gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time()); 

// Sort the URL parameters 
$url_parts = array(); 
foreach(array_keys($params) as $key) 
$url_parts[] = $key . "=" . str_replace('%7E', '~', rawurlencode($params[$key])); 
sort($url_parts); 
// Construct the string to sign 
$url_string = implode("&", $url_parts); 
$string_to_sign = "GET\necs.amazonaws.com\n/onca/xml\n" . $url_string; 
// Sign the request 
$signature = hash_hmac("sha256", $string_to_sign, AWS_SECRET_ACCESS_KEY, TRUE);
 // Base64 encode the signature and make it URL safe 
 $signature = urlencode(base64_encode($signature)); 
 $url = $base_url . '?' . $url_string . "&Signature=" . $signature; 
 return ($url); 
}

$getthis = 'B004XIE6WI'; /*---- Product ASIN-----*/
$show = amazon_get_signed_url($getthis);

$ch = curl_init($show); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 15); 
$c = curl_exec($ch); 
$xml = simplexml_load_string($c);
$json = json_encode($xml); 
$array = json_decode($json,TRUE);

echo "<pre>";
print_r($array);
echo "</pre>";

?>

1 个答案:

答案 0 :(得分:1)

在已签名的请求中添加优惠和OfferFull响应组