Für jemand der nicht als Programmierer geboren wurde, bzw. so wie ich nur programmiert, wenn man denn etwas freie Zeit hat (also nur sehr selten), ist die Amazon API echt ein Graus. Trotz (oder vielleicht auch) wegen einer rund 530 Seiten langen Dokumentation fällt der Einstieg und vor allem der Durchblick doch etwas schwer. Seltsamerweise findet sich zum Thema „Amazon API“ aber auch nur sehr wenig im Internet. Vielleicht gehöre ich deshalb wirklich zu den wenigen, die mit der API nicht klar kommen. Wie dem auch sei, für alle die es ähnlich geht, habe ich nachfolgend mal meine bisherigen Erkenntnisse dokumentiert.
Vorerst wollte ich mir nur den bei Amazon angezeigten Preis für ein bestimmtes Produkt auslesen und dann anzeigen lassen. Generell kennt die Amazon API drei Methoden: ItemLookup, ItemSearch und SimilarityLookup. Die Namen sind denke ich selbsterklärend, weshalb für mein Anliegen natürlich die ItemLookup Methode relevant war.
Nun gibt es glücklicherweise schon ein (oft referenziertes) Script, das zwar aus dem Jahr 2009 stammt und zuletzt Ende Dezember 2012 aktualisiert wurde, dieses tut aber immer noch seinen Dienst und diente mir als Grundlage. Zu finden ist das Script unter: http://www.ulrichmierendorff.com/software/aws_hmac_signer.html. Eine kurze Erläuterung gibt es hier.
In diesem Script muss lediglich der Public_Key, Private_key und der associate_tag geändert werden, dann kann man auch schon einmal die erste Testausgabe machen. Zu beachten ist, dass der Test mit dem Testscript auf der gleichen Seite eine leere Seite ausgibt, da das Produkt mit der ItemId: ‚B008GG93YE‘ inzwischen nicht mehr existiert, weshalb man es durch eine andere beliebige ASIN austauschen muss. Dabei kann man gleich auch noch aus dem ‚com‘ am Anfang von request = aws_signed_request ein ‚de‘ machen, da man ja die Infos von der deutschen Amazonseite haben möchte.
Der Knackpunkt bei der Amazon API liegt nun im Parameter der „ResponseGroup“. Je nachdem, welche ResponseGroup man hier angibt kommen unterschiedliche Informationen zurück. Mit der ResponseGroup ‚Small‘ bekommt man, wie der Name auch schon suggeriert, relativ wenige Informationen zurück. Der Preis ist hier beispielsweise nicht dabei.
Möchte ich nun den Preis eines Amazon Produktes auslesen/abfragen, dann muss ich zur ResponseGroup „Offers“ greifen. Hier kann ich zusätzlich auch noch ein MerchantId angeben, sodass ich beispielsweise nur den Preis des Anbieters „Amazon“ mir ausgeben lasse. Ich persönlich wollte mir aber den Preis ausgeben lassen, der auch in der Box auf der Amazon-Seite erscheint (das muss nicht immer der günstigste Preis sein). An diesen Preis komme ich nun über
echo $pxml->Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice;
Auf den entsprechenden Pfad (auch zum günstigsten oder teuersten Produkt) kommt man am einfachsten, in dem man auf der Amazon-Hilfsseite auf die entsprechende ResponseGroup klickt und sich das Sample Response Snippet anschaut.
So ich hoffe ich konnte euch ein bisschen weiterhelfen, das sind so meine Erkenntnisse aus ein paar Stunden Spielereinen. Falls ich noch mehr mit Amazon mache, werde ich evtl. noch einen Beitrag erstellen.
Hallo,
ich finde deinen Artikel sehr interessant, da ich genau nach so einem tool suche. Ich möchte gerne auf amazon.com ein paar 100 Artikelpreise auslesen – Problem ich hab absolut keine Erfahrung in php etc. Könntest du mir evt. helfen ??? Dein Skript schicken oder es mir kurz erklären??
Gruß Falk
Naja, im Grund sollte dieser Beitrag ja die Erläuterung sein 😉 Du musst einfach das oben verlinkte Skript herunterladen und entsprechend nach dem Beitrag hier anpassen. Viel mehr dazu sagen kann man eigentlich gar nicht mehr.
Für WordPress gibt es ja ein paar gute Lösungen. Ich habe hier http://www.redirect301.de/die-besten-seo-buecher.html das Plugin „AmazonSimpleAdmin“ eingesetzt und mir ein eigenes Template für die Ausgabe erstellt. Ist schon klasse, was durch das Einfügen der ASIN plötzlich alles für Daten auf der eigenen Seite erscheinen …
Jetzt versuche ich mich gerade daran, die Amazon-API auf einer nicht WordPress Seite zu nutzen. Mal sehen in wie weit mir dein Artikel hierbei weiter hilft. Die Hoffnung ist groß!