Использование itemlookup в Amazon Product API с php

Все, что я хочу, это что-то вроде следующего, возвращаемого на той же странице:

Сэкономьте 8,91%

Розничная цена: $599,00

Цена: 549,99 долларов США.

Общая экономия: $49,01

Поскольку я не очень хорошо знаю PHP, мне было очень трудно следить за документацией. Я застрял на несколько часов, пытаясь понять процесс подписи. Думаю, я понимаю это, это функция безопасности, используемая для аутентификации вашей личности. И он хранится как хэш SHA-1, поэтому вам нужна какая-то функция, чтобы понять это. Конечно, в моем случае легче сказать, чем сделать.

Но, возможно, то, что я пытаюсь сделать, намного проще, чем пример, который в любом случае есть в документации, поскольку они используют операцию ItemSearch, которая включает ввод формы. Это кажется более прямым.

Я попытаюсь объяснить этот процесс, и, пожалуйста, поправьте меня, если я ошибаюсь. Итак, запускается php-скрипт, и он делает запрос к API продукта Amazon для получения определенных сведений, он аутентифицирует вас и возвращает вам данные, которые вы хотели, в какой-то переменной, затем эта переменная анализируется в XML? Затем вы используете javascript для анализа этого XML и помещения его в HTML DOM, где он будет отображаться на той же странице.

Это примерно так? Нет?

Итак, как мне на самом деле перевести это в код?

Ресурсы, которые я читал: http://www.kennylucius.com/a/AAWS_signed_URL_function

docs.amazonwebservices.com/AWSECommerceService/latest/DG/RequestAuthenticationArticle.html

docs.amazonwebservices.com/AWSECommerceService/2011-08-01/GSG/ImplementinganA2SRequest.html

Хорошо, поэтому делать запросы через подписанные URL-адреса достаточно просто... И он возвращает материал, который я ищу в XML, который я могу стилизовать, круто. Но как мне это сделать в PHP? Я нашел еще один полезный ресурс, который быстро описывает библиотеку API.

codediesel.com/php/accessing-amazon-product-advertising-api-in-php/

Из этой статьи и документации я думаю, что общий процесс таков:

1) Создайте объект с запросом в нем

2) Добавьте различные параметры, которые вы хотели бы видеть в своем запросе.

3) Отправьте запрос при аутентификации вашего запроса


person luckylouie    schedule 01.11.2012    source источник
comment
Почему это помеченный JavaScript, если вы собираетесь использовать PHP для получения информации из API продуктов Amazon?   -  person Muskie    schedule 12.03.2013


Ответы (1)


Я написал или, по крайней мере, улучшил код для доступа к Amazon Product API. Последняя версия находится на GitHub, она была частью моей кодовой базы веб-мэшапов.

Он имеет такие методы, как:

  • общедоступная функция getItemByUpc($upc_code, $product_type)
  • общедоступная функция getItemByAsin($asin_code)
  • общедоступная функция getItemAttributesByAsin($asin_code)
  • общедоступная функция getRelatedItemsByAsin($asin_code)
  • общедоступная функция getRelatedTracksToAsin($asin_code)
  • общедоступная функция getItemByKeyword($keyword, $product_type)
  • публичная функция getMP3sForAlbumByArtist($albumTitle, $artist)
  • публичная функция getMP3ForSongByArtist($songTitle, $artist)
  • публичная функция getBookForKeyword($keyword)
  • публичная функция getAlbumCoverByArtistAndTitle($artist, $title)
  • публичная функция getInfoForSongwriter($artist)
  • публичная функция getDVDCoverByTitle($title)
  • общедоступная функция getDVDCoverByTitleAndDirector($title, $director)

Основываясь на этих примерах и различных вспомогательных методах, которые выполняют тяжелую работу, вы должны быть в состоянии получить почти все, что Amazon позволяет вам получить в настоящее время из Amazon Product API. Они не дают вам всего, прямые ссылки на предварительные просмотры MP3 больше не работают (возможно). Документация, возможно, не самая лучшая, вам нужно понимать группы и категории ответа, а также разницу между ItemSearch и ItemLookUp, иногда вам приходится делать несколько запросов, чтобы получить всю информацию. Я написал много кода для доступа к Amazon Product API, проверьте, он основан на коде Самира, я думаю, что он внес некоторые из моих изменений/исправлений/дополнений, но не все. Разные люди пытаются получить разную информацию из API...

person Muskie    schedule 12.03.2013