【发布时间】:2013-03-11 19:33:14
【问题描述】:
我一直在使用这个代码:
defined('AWS_API_KEY') or define('AWS_API_KEY', 'AGGAVZCVASDG123A');
defined('AWS_API_SECRET_KEY') or define('AWS_API_SECRET_KEY', '132131235151asdfaGFfasdf');
defined('AWS_ASSOCIATE_TAG') or define('AWS_ASSOCIATE_TAG', 'test05-12');
$amazonEcs = new AmazonECS(AWS_API_KEY, AWS_API_SECRET_KEY, 'com', AWS_ASSOCIATE_TAG);
$amazonEcs->associateTag(AWS_ASSOCIATE_TAG);
$amazonEcs->returnType(AmazonECS::RETURN_TYPE_ARRAY);
$response = $amazonEcs->responseGroup('TopSellers')->browseNodeLookup($node);
很遗憾,此代码不返回产品的价格、图片和其他属性。 它只返回这个结果:
<TopItemSet>
<Type>TopSellers</Type>
<TopItem>
<ASIN>0553576399</ASIN>
<Title>Distraction</Title>
<ProductGroup>Book</ProductGroup>
<Author>Bruce Sterling</Author>
</TopItem>
<TopItem>
....
.....
</TopItemSet>
在调用TopSellers 响应组时有什么方法可以显示这些?
在此之前我有一个解决方案,每次我打电话给TopSellers,我都会得到 TopSellers 生产的商品的 ASIN(他们生产了 10 件畅销商品),然后我使用这个代码:
$response = $amazonEcs->responseGroup('Images,ItemAttributes')->page(1)->category('All')->search($asin);
这将搜索基于 TopSeller 响应组生成的 ASIN 的产品。这段代码的唯一问题是它会导致throttled error。 Throttled Error 意味着我对 amazon api 的请求限制已超出,因为显然该代码调用起来有点累人,因为它一直在从 API 请求数据。
我一直在阅读产品广告 API 的文档http://docs.aws.amazon.com/AWSECommerceService/latest/DG/RG_TopSellers.html
您的想法将不胜感激!
【问题讨论】:
-
感谢分享,想知道$node是怎么初始化的
-
什么节点?什么意思?
-
我的意思是browseNodeLookup($node)中的$node,那个$node是从哪里来的?
-
@PaulLo 基本上,节点是亚马逊类别的唯一标识符。这是您要求的节点指南docs.aws.amazon.com/AWSECommerceService/latest/DG/… 例如 $node = '2619525011';
-
非常感谢,我现在明白了。我很困惑,因为我认为 $node 是我们不知道的特定产品的标识符,现在我明白它只是用于类别。
标签: php amazon-web-services amazon amazon-product-api