dsgoj7457 2013-12-10 14:09
浏览 126

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

Does anyone know that how to check the stock of amazon product from Amazon Product Advertising API??

Plz dont share links of API docs.. just tell me the way..

i have used the follwing code to display the results for some specific product. Guide me that how can i see the stock of searched product?

<?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
ecs.amazonaws.com
/onca/xml
" . $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条回答 默认 最新

  • doushi9856 2014-05-29 10:51
    关注

    do include Offers and OfferFull response groups in your signed request ..

    评论

报告相同问题?