【发布时间】:2018-01-09 17:57:25
【问题描述】:
我使用以下代码获取有关亚马逊产品的信息:
$id = "B00355GLBY";
$base_url = "http://ecs.amazonaws.com/onca/xml";
$params = array(
'AWSAccessKeyId' => "AWSAccessKey",
'AssociateTag' => "AssociateTag",
'Version' => "2011-08-01",
'Operation' => "ItemLookup",
'Service' => "AWSECommerceService",
'Condition' => "All",
'IdType' => 'ASIN',
'ResponseGroup' => 'Offers, Images, ItemAttributes',
'MerchantId' => 'All',
'ItemId' => $id);
$params['Timestamp'] = gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time());
$url_parts = array();
foreach(array_keys($params) as $key)
$url_parts[] = $key . "=" . str_replace('%7E', '~', rawurlencode($params[$key]));
sort($url_parts);
$url_string = implode("&", $url_parts);
$string_to_sign = "GET\necs.amazonaws.com\n/onca/xml\n" . $url_string;
$signature = hash_hmac("sha256", $string_to_sign, "SECRET_KEY", TRUE);
$signature = urlencode(base64_encode($signature));
$url = $base_url . '?' . $url_string . "&Signature=" . $signature;
$parsed_xml = simplexml_load_file($url);
$original_price = $parsed_xml->Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice;
$original_image = $parsed_xml->Items->Item->LargeImage->URL;
$stock = $parsed_xml->Items->Item->Offers->Offer->OfferListing->AvailabilityAttributes->AvailabilityType;
$original_product_name = $parsed_xml->Items->Item->ItemAttributes->Title;
我的问题是有时我得到错误的价格回报。 例如,对于这个 ASIN:B005Y6F4WO,我得到的价格是:0.87 美元 我想收到页面中心显示的(主要)价格。我怎样才能让它工作? 谢谢。
【问题讨论】:
-
你说的sometimes是什么意思?能不能说的具体一点?
-
我的意思是一些项目。像这些: B00BRQ3QWK B0038W0K2K B00ANHHSSM 我得到最低的价格,但我需要默认的。
-
我也遇到了同样的问题。还没有找到解决方案,是吗?
-
我找不到任何东西。
-
这里也一样!有运气吗?