|
Web Services - Product Advertising APIBis August 2009 reichte es aus, eine Anfrage (Request) entsprechend der Beispiele auf den vorausgegangenen Seiten an den Server von Amazon zu senden. Anfragen nach diesem Schema werden ab Mitte August vom Web Services Server nicht mehr beantwortet. Auf dieser Seite möchten wir Ihnen kurz darlegen, wie nun die Anfragen aufgebaut sein sollten. Beispiel: Beim ersten Beispiel wurden folgende Parameter verwendet:
Wer sich diese manuelle Sortierung nicht zutraut oder ein Script mit wechselnden Parametern verwendet, kann die Parameter in ein Array laden und mit einer Funktion sortieren. Bei PHP wäre dies die Funktion ksort. Wenn sich jedoch nur die Werte hinter dem Gleichheitszeichen verändern, reicht die einmalige manuelle Sortierung aus. Nachfolgend ein Beispiel für die Sortierung mit Hilfe eines Arrays. <?php $alleparameter = array("Service" => "AWSECommerceService", "AWSAccessKeyId" => "0XYZ00XYZ0", "AssociateTag" => "ohnephantasie-21", "Operation" => "ItemSearch", "SearchIndex" => "Books", "Keywords" => "Zwergkaninchen", "ResponseGroup" => "Medium", "ItemPage" => "1", "Timestamp" => "2009-07-30T18:47:28Z", "Version" => "2009-07-30"); ksort($alleparameter); print_r($alleparameter); ?> Dieses Beispiel würde folgende Ausgabe ergeben: Array([AWSAccessKeyId] => 0XYZ00XYZ0 [AssociateTag] => ohnephantasie-21 [ItemPage] => 1 [Keywords] => Zwergkaninchen [Operation] => ItemSearch [ResponseGroup] => Medium [SearchIndex] => Books [Service] => AWSECommerceService [Timestamp] => 2009-07-30T18:47:28Z [Version] => 2009-07-30 ) Der Wert für den Timestamp (Zeitstempel) enthält Sonderzeichen (:), die so nicht in einem QueryString erwünscht sind und zu Störungen bei der Verschlüsselung der Signatur oder beim Request führen könnten. Es gibt mehre Möglichkeiten diese Sonderzeichen gegen ihre entsprechenden hexadezimalen Werte, mit einem vorausgehenden Prozentzeichen (%), auszutauschen. Die einfachste Möglichkeit bietet in diesem Fall die Funktion urlencode. Ein Beispiel: <?php $aktuellezeit = urlencode("2009-07-30T18:47:28Z"); echo $aktuellezeit; // Ausgabe: 2009-07-30T18%3A47%3A28Z ?> Anmerkung: Nun hätten Sie zwar die Parameter in der richtigen Reihenfolge sortiert, jedoch noch keine verschlüsselte Signatur. Dazu auf der folgenden Seite mehr. API, Request und Response | Parameter | Weitere Beispiel « / » Signatur |
Finden und Autoritäten
im Zukunftsaussichten Studien & Strategien - Optimierung -
Übersicht Amazon Web
Services |
||||||||||||||||
Copyright © 2008 - Verlag Horst Müller - Stendal | Datenschutz | Nutzungsbedingungen | ||||||||||||||||||