如果有人能够使用Zend Amazon Service模块(使用Zend 2.0)通过ISBN进行ItemLookup的正确方式,我将不胜感激。
这是我的尝试:
$query = new ZendService\Amazon\Query($appId, 'UK', $secretKey);
$query->Category('Books')->IdType('ISBN')->ItemID('978-0321784070')->AssociateTag($tag);
$result = $query->ItemLookup();
但我收到以下错误:
我无法定义ASIN,因为我将拥有的唯一信息是ISBN。
我已经在zend框架网站上查阅了Zend Service亚马逊用户指南,但它已经过时,并没有演示如何进行ISBN查找。我还查看了zend amazon软件包附带的演示,但只详细说明了如何进行项目搜索,而不是查找。
答案 0 :(得分:3)
这是一种让ISBN搜索正常工作的方法,我花了一些时间来弄清楚它。问题是,要搜索ISBN,您必须使用ItemLookup
方法而不是ItemSearch
方法设置的query()
方法。
使用OO界面可能有更好的方法让它工作但我还没有尝试过。
$query = new ZendService\Amazon\Query($appId, 'US', $secretKey);
$item = $query->itemLookup('9780321784070',
array('SearchIndex' => 'Books',
'AssociateTag' => $tag,
'IdType' => 'ISBN',
'ResponseGroup' => 'Small',));
按ISBN搜索应返回单个ZendService\Amazon\Item
对象而不是结果数组。另请注意,如果您使用ISBN-13进行搜索,则需要从数字中删除-
,否则将无法找到匹配项。
Manas Tungare相信这个blog post,暗示我们需要使用IteamLookup而不是ItemSearch。