使用zend_service_amazon,但没有看到任何输出

时间:2012-05-27 01:14:11

标签: php zend-framework amazon

我正在玩亚马逊开发者的API,但我没有得到任何东西。

这是我的代码。我正在使用echo来查看是否有任何事情发生,我得到的只是一个空白网页。我希望能够回应搜索结果数组。

<?php
error_reporting(E_ALL); 
ini_set("display_errors", 1); 
require_once('Zend/Service/Amazon.php');

$amazon = new Zend_Service_Amazon('AKIAJQBYUXIFWUIX6W6A', 'US', 'YGV9zePfKejV6C3dpaP/NtnhjGLfWQsccdGSSL50');
$results = $amazon->itemSearch(array('SearchIndex' => 'Books',
                                     'Keywords' => 'php'));
foreach ($results as $result) {
    echo $result->Title . '<br />';
}

    ?>

获取空白页面

2 个答案:

答案 0 :(得分:1)

您的页面空白,因为您没有收到任何结果:

这是使用您发布的代码的$ results转储:

Amazon object(Zend_Service_Amazon_ResultSet)#103 (4) {
  ["_results":protected] => object(DOMNodeList)#105 (0) {
  }
  ["_dom":protected] => object(DOMDocument)#101 (0) {
  }
  ["_xpath":protected] => object(DOMXPath)#104 (0) {
  }
  ["_currentIndex":protected] => int(0)
}

要解决这个问题需要解决几个问题,最重要的是:

  

以下更改将于2011年11月1日生效:
关联标记参数:每次向API发出的请求都应包含   有效的关联标签。任何不包含有效的请求   关联标记将被拒绝,并显示相应的错误消息。对于   有关Associate Tag参数的详细信息,请参阅我们的开发人员   引导。

目前Zend_Service_Amazon的构造函数不包含 Associate Tag 参数,而_prepareOptions()方法未设置选项。

我确定有人对此有所解决,否则是时候深入挖掘并扩展......祝你好运

Amazon Product Advertising API
Changes to Product Advertising API

答案 1 :(得分:1)

Zend_Service_Amazon已过期并使用旧的WSDL。 见http://zendframework.com/issues/browse/ZF-12046

等待1.12或使用提供的批处理文件。