Как сделать ItemLookup с Zend Service Amazon?

Я был бы признателен, если бы кто-нибудь мог направить меня на правильный путь при выполнении ItemLookup с помощью ISBN с помощью модуля Zend Amazon Service (с Zend 2.0).

Вот моя попытка:

$query = new ZendService\Amazon\Query($appId, 'UK', $secretKey); $query->Category('Books')->IdType('ISBN')->ItemID('978-0321784070')->AssociateTag($tag); $result = $query->ItemLookup(); 

Но я получаю следующие ошибки:

  • Отсутствует аргумент 1 для ZendService \ Amazon \ Amazon :: itemLookup (), вызванный в D: \ wamp \ www \ site \ controllers \ dev.php в строке 122 и определен
  • Неопределенная переменная: asin

Я не могу определить ASIN, потому что единственная информация, которую я буду иметь, это ISBN.

Я уже консультировался с руководством пользователя Zend Service Amazon на веб-сайте zend framework, но он устарел и не демонстрирует, как выполнять поиск ISBN. Я также посмотрел демонстрацию, которая появилась с пакетом zend amazon, но это только детализирует, как выполнять поиск предметов, а не поиск.

Вот способ поиска работы 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, который намекнул мне, что нам нужно использовать IteamLookup вместо ItemSearch.