Home Sitemap Impressum
SEO Welten - Webcoding, Editoren, Scripte und Anwendungen
SEO Welten

 

 
AGB

AWS - Neuerungen ab August 2009 - Teil II

Web Services - Product Advertising API

Auf 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.

Der komplette String würde bisher wie folgt aussehen:

http://ecs.amazonaws.de/onca/xml?AWSAccessKeyId=0XYZ00XYZ0&
AssociateTag=ohnephantasie-21&ItemPage=1&Keywords=Zwergkaninchen&
Operation=ItemSearch&ResponseGroup=Medium&SearchIndex=Books&
Service=AWSECommerceService&Timestamp=2009-07-30T18%3A47%3A28ZZ&
Version=2009-07-30

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

$signature="GET"."/n"."ecs.amazonaws.de"."/n"."/onca/xml"."/n".
"AWSAccessKeyId=0XYZ00XYZ0&AssociateTag=ohnephantasie-21&".
"ItemPage=1&Keywords=Zwergkaninchen&Operation=ItemSearch&".
"ResponseGroup=Medium&SearchIndex=Books&".
"Service=AWSECommerceService&".
"Timestamp=2009-07-30T18%3A47%3A28ZZ&Version=2009-07-30";
?>

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&
AssociateTag=ohnephantasie-21&ItemPage=1&Keywords=Zwergkaninchen&
Operation=ItemSearch&ResponseGroup=Medium&SearchIndex=Books&
Service=AWSECommerceService&Timestamp=2009-07-30T18%3A47%3A28ZZ&
Version=2009-07-30&Signature=00%0Buchstaben00und00Ziffern00%0

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 « / »

Navigation

Finden und
gefunden werden ...


Autoritäten im
Internet

Die Kehrseite
Das Wesen

Zukunftsaussichten

Studien & Strategien
Verbreitung & Bedeutung
Internet & Medien


- Optimierung -

Einstieg Optimierung
Erfolg oder Misserfolg

 

Webcoding

Übersicht

Einführung ins Thema


Amazon Web Services
Request und Response
Anfragen und Anträge
Weitere Beispiele
Einfaches Script - Unicode
Einfaches Script - ISO
DOM/XML und Unicode
DOM/XML und ISO
Weitere Einzelheiten


Images/Bilder prüfen


Copyright © 2008 - Verlag Horst Müller - Stendal | Datenschutz | Nutzungsbedingungen