Amazon und die Webservices-API

Die tragische Geschichte nimmt am 23.07.2009 ihren Lauf. Eine unscheinbare Mail weist uns arme kleine Amazon Affiliate-Partner darauf hin, dass Amazon ab dem 15.08.2009 nur noch signierte Anfragen bei den Amazon Web Services (AWS) erlaubt. Dies hat leider zur Folge, dass im Suburb auch mal wieder ein Blogeintrag zu WordPress-Pluginprogrammierung erscheinen muss.

Denn im ganzen MacVillage kommt das tolle WordPress-Plugin Amazon Showcase zum Einsatz. Man muss über die Administrationsoberfläche lediglich die interne Amazon-Nummer (ASIN) eingeben und das Plugin holt sich den entsprechenden Affiliate-Link und ein Produktbild und fügt es in die Seitenleiste ein. Auf diese Weise hoffen wir, eine kleine, aber ansprechende Auswahl an Kaufanregungen anbieten zu können, die uns unterstützen, ohne bei euch Mehrkosten zu verursachen.

Mit dem Wechsel auf signierte Anfragen ist es dem Plugin nicht mehr möglich, die Anfragen korrekt abzusetzen. Leider hat sich der Entwickler des Plugins daraufhin zurückgezogen und den Support des Plugins eingestellt. Also muss man selbst Hand anlegen. Die nötigen Änderungen erweisen sich als relativ einfach, man benötigt allerdings ein Amazon Web Services-Konto bzw. muss sich sein bestehendes Amazon-Konto freischalten lassen. Für das Signieren und Ausführen der Anfrage selbst kann man das Skript AWS Signed Query von Ulrich Mierendorff benutzen. Da Amazon Showcase die Antwort von Amazon selbst parst, muss man lediglich das Parsen innerhalb des Skripts (ganz am Ende) deaktivieren. Die Abfrage des Amazon Web Service im Amazon Showcase Plugin geschieht in AMZSCAmazon.ItemSearch() und kann, nach dem Inkludieren des oben genannten Skripts, einfach durch den Aufruf der AWS Signed Query-Funktion ersetzt werden. Dabei kommen dann auch die AWS-Keys zum Einsatz, die man als Parameter mitgeben muss.

Da ich nicht so auf Quellcode in Blogs stehe, habe ich mir das hier mal gespart. Wer den Code liest, kommt ziemlich schnell dahinter, wo welche Stellen angepasst werden müssen. Bei Bedarf bin ich aber gerne behilflich, lasst einfach einen Kommentar hier. Eigentlich dürfte es auch nicht so schwer sein, das Plugin so anzupassen, dass man die Keys in der Administrationsoberfläche verwalten kann, aber ihr wisst ja, die Zeit ist ein begrenztes Gut…

  1. Hi,

    könntest Du die geänderte Datei vielleicht zum Download bereit legen ? Kannst ja als Endung .phps verwenden. Bekomme es selbst leider nicht hin.

    Danke
    Stefan

  2. Also: Du trennst das Parsing der aws_signed_request.php ab, sodass das XML so zurückgegeben wird, wie es ist: http://paste.pocoo.org/show/VSBVP0sOhx0FMAJJeqgv/

    Die Datei inkludierst du im Plugin per include_once(„aws_signed_request.php“);

    Dann suchst du in der Plugindatei die Funktion ItemSearch() (ungefähr um Zeile 530 rum). Die Funktion ersetzt du durch die neue Funktion wie z.B. hier: http://paste.pocoo.org/show/rOPKzRIrdH2UIze9aa89/

    Die Keys musst du natürlich durch deine Keys ersetzen.

    Aaron hat sich übrigens erweichen lassen und baut den Support der neuen API doch demnächst in das Plugin ein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.