Interfejs API produktów Amazon - szukasz podstawowego przeglądu i informacji


125

Po niedawnym korzystaniu z API eBay spodziewałem się, że żądanie informacji od Amazon będzie równie proste, ale wydaje się, że nie ...

Wygląda na to, że nie ma dobrej strony internetowej, która wyjaśnia podstawy. Na początek, jak nazywa się ta usługa? Myślę, że stara nazwa została porzucona, a akronim AWS używany wszędzie (ale czy nie jest to ogólny termin obejmujący ich przetwarzanie w chmurze i 20 innych usług?).

Brakuje jasnych informacji na temat nowego procesu „podpisywania”. Po zebraniu fragmentów szczegółów z różnych stron, na które się natknąłem, wydaje się, że przed sierpniem 2009 potrzebne było tylko konto programisty w Amazon, aby wysyłać żądania i odzyskiwać XML. Teraz musisz użyć jakiegoś wymyślnego procesu szyfrowania, aby utworzyć dodatkową liczbę w swoim zapytaniu. Czy to oznacza, że ​​dane Amazon są całkowicie poza zasięgiem programisty, który chce tylko szybkiego i prostego rozwiązania?

Wydaje się, że w kanałach RSS znajduje się niewielka ilość informacji i można łatwo uzyskać kanał z elementami, które zostały „otagowane”, ale nie mogę powiedzieć, czy istnieje sposób wyszukiwania tytułów również za pomocą RSS. Niektóre witryny wydają się to sugerować, ale myślę, że są teraz nieaktualne?

Byłbym bardzo wdzięczny, gdyby ktokolwiek mógł krótko podsumować obecny stan rzeczy. Wszystko, co chcę zrobić, to przejść z tytułu książki w mojej bazie danych i użyć klasycznego ASP, aby uzyskać zestaw pasujących produktów z Amazon, wymieniając zdjęcia okładek i ceny.

„Widżety” Amazon mogą wyświetlać wyniki wyszukiwania słów kluczowych na moich stronach, ale mam mniejszą kontrolę nad nimi i są one wyświetlane tylko użytkownikowi - mój kod nie może do nich zajrzeć.


1
Spędziłem zbyt dużo czasu majstrując przy Amazon Product API, naprawdę wielu API i PHP. Cały mój kod jest dostępny tutaj.
Muskie

Umieściłem kod PHP w GitHubie, który pobiera i demonstruje, jak pobierać różne informacje z Amazon Product API, jakoś dzisiaj zauważyli. Oryginalny kod PHP został napisany przez Ulricha Mierendorffa, następnie zmodyfikowany przez Sameera Borate, a następnie przeze mnie rozszerzony. Wyjaśnienie Sameera jest tutaj: codediesel.com/php/…
Muskie

Jeśli chcesz, abym wysłał ten sam kod MWS PA, mogę to zrobić, gdy wrócę do domu.
McStuffins,

Odpowiedzi:


123

Twój post zawiera kilka pytań, więc spróbuję odpowiedzieć na nie pojedynczo:

  1. API, które Cię interesuje, to Product Advertising API (PA). Umożliwia programowy dostęp do wyszukiwania i pobierania informacji o produktach z katalogu Amazon. Jeśli masz problemy ze znalezieniem informacji w interfejsie API, dzieje się tak, ponieważ usługa internetowa przeszła dwie zmiany nazwy w najnowszej historii: była również znana jako ECS i AAWS.
  2. Proces podpisu, do którego się odnosisz, jest tym samym podpisem HMAC, którego używają wszystkie inne usługi AWS do uwierzytelniania. Wszystko, co jest wymagane do podpisywania żądań do interfejsu API reklam produktów, to funkcja obliczania skrótu SHA-1 i klucza programisty AWS. Więcej informacji znajdziesz w dokumentacji dla programistów dotyczącej żądań podpisania .
  3. O ile wiem, nie ma wsparcia dla pobierania kanałów RSS produktów lub tagów przez PA. Jeśli ktoś ma informacje sugerujące inaczej, proszę mnie poprawić.
  4. API REST lub SOAP powinny sprawić, że Twój przypadek użycia będzie bardzo prosty. Amazon zapewnia dość podstawowy przewodnik „wprowadzenie” dostępny tutaj . Możesz również wyświetlić pełną dokumentację programisty interfejsu API tutaj .

Chociaż dokumentacja jest trochę trudna do znalezienia (prawdopodobnie z powodu wszystkich zmian nazw), API PA jest bardzo dobrze udokumentowane i raczej eleganckie. Przy odrobinie smaru na łokieć i pewnym wcześniejszym doświadczeniu w wywoływaniu usług internetowych, nie powinieneś mieć problemów z uzyskaniem potrzebnych informacji z API.


27
Warto wspomnieć, że PA-API jest obecnie przestarzałe, a usługa Amazon Marketplace Web Service (MWS) powinna być teraz używana: developer.amazonservices.com/index.html
Dan Gravell

5
Niedziałający link do przewodnika „wprowadzenie”, o którym mowa w punkcie 4 powyżej.
jerhewet

9
@Dan: to jest niepoprawne, są to API innego przeznaczenia.
abatishchev

1
Domyślam się, że masz rację, ponieważ API nadal istnieje! Zastanawiam się, dlaczego tak pomyślałem ... Jestem pewien, że otrzymałem e-mail z taką informacją. A może był przestarzały tylko dla niektórych zastosowań.
Dan Gravell

Czy ktoś ma pomysł, aby uzyskać wszystkie informacje o produktach tylko dla konkretnego sklepu?
SarveshwarPM

29

Zgadzam się, że Amazon celowo ukrywa nawet sposób znajdowania dokumentacji API, a także jej używania. Jednak tylko spekuluję.

Zmiana nazwy usług z „ECS” na „ Product Advertising API ” prawdopodobnie również nie była najlepszym posunięciem, w istocie unieważniła wszystko to, co Google stworzyło na przestrzeni czasu.

„Odkrycie” tego zaktualizowanego łącza do interfejsu API reklam produktów zajęło mi trochę czasu . Nie pamiętam, żebym mógł go łatwo znaleźć za pomocą typowego linku „Developer” na stronie Amazon. Wydaje się, że ta dokumentacja jest ważna i od czego ostatnio pracowałem.

Zmiana w procedurach uwierzytelniania również wydaje się dodatkowo komplikować, ale jestem pewien, że mają ku temu powód.

Używam SOAP przez C # do komunikacji z Amazon Product API.

Dzięki REST API musisz zaszyfrować cały adres URL w dość specyficzny sposób. Parametry muszą zostać posortowane itp. Jest jeszcze więcej do zrobienia. Za pomocą interfejsu SOAP API po prostu szyfrujesz operację + sygnaturę czasową i to wszystko.

Wpis Adama O'Neila, How to get album, dvd i blueeray cover from Amazon , omawia SOAP with C # method. To nie jest oryginalna próbka, którą ściągnąłem, i wbrew jego komentarzowi, nie była to oficjalna próbka Amazon, na którą się natknąłem, chociaż kod wygląda identycznie. Jednak Adam wykonuje dobrą robotę, przedstawiając wszystkie niezbędne kroki. Żałuję, że nie mogę wymienić autora oryginalnego.


1
Mówi mi, że potrzebuję aplikacji lub strony internetowej, aby się zarejestrować, ale chcę się zarejestrować, aby uzyskać dostęp do interfejsu API i zbudować aplikację. Czy coś mi tu brakuje ?!
K ..


5

Znalazłem dobrą alternatywę dla zapytania o informacje o produktach amazon tutaj: http://api-doc.axesso.de/

Jest to darmowy interfejs API do odpoczynku, który zwraca wszystkie istotne informacje związane z żądanym produktem.



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.