|
Web Services - Product Advertising APIAuf den vorausgegangenen Seiten führten wir Beispiele auf,
welche Parameter für eine Anfrage an den Webserver von Amazon erforderlich sind, wie Sie
diese in der richtigen Reihenfolge
entsprechend ihre Byte-Werte ordnen und vorkommende Sonderzeichen gegebenenfalls in
Hex-Zeichen kodieren. Auf dieser Seite möchten wir Ihnen noch einige Tipps zur
Verschlüsselung der Signatur geben und auch dazu, wie Sie am Ende alles zu einem String
zusammenfügen können, um eine korrekte Anfrage an den Webserver zu senden. http://ecs.amazonaws.de/onca/xml?AWSAccessKeyId=0XYZ00XYZ0& Vor der Verschlüsselung des Strings als Signatur sind noch einige kleine Änderungen erforderlich. So wird das httg:// gegen GET vertauscht, wobei GET die Übertragungsmethode bezeichnet. Weiterhin hat zwischen GET, ecs.amazonaws.de und /onca/xml jeweils ein Zeilenumbruch zu erfolgen, den man in PHP durch ein maskiertes \n erreicht. Nun würde der String wie folgt aussehen: <?php Als ein weiterer Parameter ist Ihr Secret Access Key erforderlich, welches mit in der Signatur enthalten sein muss. Alles zusammen wird dann wie im unteren Codebeispiel mit der Funktion hash_hmac und base64_encode als Signatur verschlüsselt und den String angehängt. Der mit der Signatur komplettierte String würde wie folgt aussehen: http://ecs.amazonaws.de/onca/xml?AWSAccessKeyId=0XYZ00XYZ0& Wichtig: Bitte probieren Sie die URL mit diesem hier abgebildeten QueryString nicht aus, da dieser ohne Ihre Angaben und ohne einen echten Zeitstempel, nur eine Fehlermeldung auslösen würde. Weitere Beispiele, wie der komplette String aussehen sollte, können Sie der folgenden Seite entnehmen: Amazon - Product Advertising API Nachfolgend ein erprobtes Codebeispiel, indem Sie lediglich noch ihre IDs einzugeben brauchen, um einen erfolgreichen Request zu starten. Wenn sie dieses Beispiel mit Ihren richtigen Angaben versehen, werden Sie auf jedem Fall eine Antwort vom Webserver im XML-Format erhalten. Ein Script zum Ausgeben dieser XML-Datei finden Sie ebenfalls auf unseren Seiten. <?php $secret_access_key = "00GEHEIM000000000000"; $access_key_id = "0XYZ00XYZ0"; $associate_id = "ohnephantasie-21"; $SearchIndex = "Books"; $Suchwort = "Zwergkaninchen"; $ItemPage = '1'; $aktuelle = gmdate("Y-m-d\TH:i:s\Z"); $aktuellezeit = urlencode($aktuelle); $alleparameter = "AWSAccessKeyId"."=". $access_key_id ."&". "AssociateTag" ."=". $associate_id ."&". "ItemPage" ."=". $ItemPage ."&". "Keywords" ."=". $Suchwort ."&". "Operation" ."=". "ItemSearch" ."&". "ResponseGroup" ."=". "Medium" ."&". "SearchIndex" ."=". $SearchIndex ."&". "Service" ."=". "AWSECommerceService" ."&". "Timestamp" ."=". $aktuellezeit ."&". "Version" ."=". "2009-07-30"; $stringsignr = "GET\n"."ecs.amazonaws.de"."\n"."/onca/xml"."\n".$alleparameter; $signature1 = base64_encode(hash_hmac("sha256", $stringsignr, $secret_access_key, True)); $signature2 = urlencode($signature1); $daten = file_get_contents("http://ecs.amazonaws.de/onca/xml?".$alleparameter."&Signature=".$signature2); print_r($daten); ?> API, Request und... | Parameter | Weitere Beispiele | Neuerungen « / » |
Finden und - Optimierung -
Übersicht Amazon Web
Services |
||||||||||
Copyright © 2008 - Verlag Horst Müller - Stendal | Datenschutz | Nutzungsbedingungen | ||||||||||||