Я был бы признателен, если бы кто-нибудь мог направить меня на правильный путь при выполнении 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();
Но я получаю следующие ошибки:
Я не могу определить 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.