php 如何使用Zend Service Amazon进行ItemLookup?

mznpcxlj  于 2023-02-28  发布在  PHP
关注(0)|答案(1)|浏览(117)

如果有人能指导我使用Zend Amazon服务模块(使用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();

但我得到了以下错误:

  • ZendService\Amazon\Amazon::itemLookup()缺少参数1,该参数在第122行的D:\wamp\www\site\controllers\dev.php中调用并定义
  • 未定义的变量:阿辛

有没有办法,我可以定义的asin,因为唯一的信息,我将有isbn。
我已经在zend framework网站上查阅了Zend Service Amazon用户指南,但是它已经过时了,并且没有演示如何查找ISBN。我也看了zend Amazon软件包附带的演示,但是它只详细介绍了如何进行商品搜索,而不是查找。

6kkfgxo0

6kkfgxo01#

这里有一个让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。

相关问题