AJAX (Asynchronous JavaScripting and XML) Forum
   Forum über „Asynchronous JavaScripting and XML“ und Web 2.0    AJAX Forum AJAX Blog AJAX Wiki AJAX Bücher

Zurück   AJAX (Asynchronous JavaScripting and XML) Forum > Für Entwickler > Web Services


Digitalkamera
Antwort
 
LinkBack Themen-Optionen
Alt 26.05.2007, 13:33   #1 (permalink)
Administrator
 
Benutzerbild von Admin
 
Registriert seit: 28.12.2005
Beiträge: 477
Admin eine Nachricht über Skype™ schicken
Standard Amazon Web Services (AWS)

Hallo Community!

Hat es schon jemand von euch geschafft, die Amazon Web Services zu nutzen? Ich würde gerne über diese Schnittstelle aktuelle Preise bei Amazon auslesen. Den Access-Key von Amazon habe ich bereits vorliegen (bekommt man ja auf Antrag kostenlos bei amazon.com).

Das ganze sollte beispielsweise als PHP-Funktion gelöst sein. Als Parameter möchte ich einfach nur eine Produkt-ID übergeben und als Ergebnis den aktuellen Preis bekommen. Falls kein Preis verfügbar ist, soll "n.v." oder soetwas angezeigt werden.

Hat jemand schonmal soetwas programmiert oder kennt eine fertige PHP-Lösung?

Würde mir sehr viel Arbeit ersparen! Danke schonmal im voraus

Gruß,
Friedrich
Admin ist offline   Mit Zitat antworten
Alt 26.05.2007, 22:07   #2 (permalink)
Erfahrener Benutzer
 
Benutzerbild von der Jörchen
 
Registriert seit: 12.04.2006
Ort: Dettelbach
Beiträge: 591
der Jörchen eine Nachricht über ICQ schicken der Jörchen eine Nachricht über Skype™ schicken
Standard

--> Ich bin dran an einer Lösung, kann sich nur um Stunden handeln
__________________
Jürgen Vogel Webentwicklung
Der wahrscheinlich jüngste selbständige Webentwickler Deutschlands =)
der Jörchen ist offline   Mit Zitat antworten
Alt 30.05.2007, 19:26   #3 (permalink)
Neuer Benutzer
 
Benutzerbild von ^^kev####
 
Registriert seit: 02.12.2006
Beiträge: 8
Standard

^^Merkt man ;D Paar std (tage)
^^kev#### ist offline   Mit Zitat antworten
Alt 31.05.2007, 13:33   #4 (permalink)
Erfahrener Benutzer
 
Benutzerbild von der Jörchen
 
Registriert seit: 12.04.2006
Ort: Dettelbach
Beiträge: 591
der Jörchen eine Nachricht über ICQ schicken der Jörchen eine Nachricht über Skype™ schicken
Standard

Ne ne, ich hab das schon lange fertig gemacht, hier nur nicht mehr gepostet. Da es sich dabei nur darum handelt, serverseitig eine XML-Datei auszulesen. Hier mal der PHP Code, für die, die das interessiert:

PHP-Code:
class aws {

    function 
aws($aki$asin) {
        
$fs=fopen("http://ecs.amazonaws.de/onca/xml?Service=AWSECommerceService&AWSAccessKeyId="$aki ."&AssociateTag=22&Version=2006-09-11&Operation=ItemLookup&ItemId="$asin ."&ResponseGroup=Medium,Offers","r");                
        
$this->responseXML=simplexml_load_string(fgets($fs));
    }
    
    function 
getValue($pValue) {    
        
$myValue '';
        eval (  
'$myValue = $this->responseXML->'.$pValue.';' );
        if(empty(
$myValue)) $myValue='n.V.' ;                            
        return 
$myValue;
    }
        
}



$produkt = new aws('AccessKeyId''Produkt ASIN');


$preis =  $produkt->getValue('Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice');
$bild  =  $produkt->getValue('Items->Item->LargeImage->URL');


echo 
'<img src="'.$bild.'" />';

echo 
'Preis: '$preis
Ganz simpel mit freiem XML Zugriff.

Grüße,
der Jörchen
__________________
Jürgen Vogel Webentwicklung
Der wahrscheinlich jüngste selbständige Webentwickler Deutschlands =)
der Jörchen ist offline   Mit Zitat antworten
Alt 22.03.2008, 17:00   #5 (permalink)
Neuer Benutzer
 
Registriert seit: 22.03.2008
Beiträge: 1
Standard

vielen dank jörchen, hat mir sehr weitergeholfen!

Geändert von websolutions (23.03.2008 um 12:38 Uhr)
websolutions ist offline   Mit Zitat antworten
Alt 20.04.2008, 13:12   #6 (permalink)
Neuer Benutzer
 
Registriert seit: 20.04.2008
Beiträge: 3
raven eine Nachricht über ICQ schicken
Standard

Das ist ja wohl nicht dein Ernst, Jörchen?

Sorry, aber das ist so ziemlich der miserabelste Code, den ich seit mehr als einem Jahr gesehen habe.

Schonmal darüber nachgedacht, was passiert, wenn du deiner aws::getValue() invalide Parameter übergibst? Das knallt einmal heftig, und dann gibts nen Parse Error. Tolle Wurst!

@websolutions: Übernimm das auf _keinen_ Fall so. Das sollte lieber komplett neu verfasst werden, und zwar anständig.
Eine Möglichkeit wäre zum Beispiel, dass die Hauptfunktion zum Auslesen eine Referenz zu einer initialisierten Klasse awsXMLNode zurückgibt...

Und wenn ich dann noch die Signatur lese, dann kann ich in diesem Kontext eigentlich nur noch verzweifeln.

Geändert von raven (20.04.2008 um 15:40 Uhr)
raven ist offline   Mit Zitat antworten
Alt 20.04.2008, 13:19   #7 (permalink)
Neuer Benutzer
 
Registriert seit: 05.04.2008
Beiträge: 21
Standard

ich werfe da mal Zend_Service_Amazon in den Raum
ice-breaker ist offline   Mit Zitat antworten
Alt 20.04.2008, 14:03   #8 (permalink)
Erfahrener Benutzer
 
Benutzerbild von MuffiTehMaeh
 
Registriert seit: 06.04.2007
Ort: Erkelenz
Beiträge: 299
MuffiTehMaeh eine Nachricht über ICQ schicken MuffiTehMaeh eine Nachricht über Skype™ schicken
Standard

oh, raven, ganz böse... wie wäre es wenn du anstatt rumzumeckern mal einen alternativen (vernünftigen) Code postest?

und by the way: leute zu beleidigen is auch gegen die kommenden richtlinien
MuffiTehMaeh ist offline   Mit Zitat antworten
Alt 20.04.2008, 14:39   #9 (permalink)
Erfahrener Benutzer
 
Benutzerbild von think!!
 
Registriert seit: 11.08.2006
Ort: Österreich
Beiträge: 886
think!! eine Nachricht über ICQ schicken
Standard

@raven: In so einem Beispiel Code wird immer davon ausgegangen das der Programmierer weis was er tut und nichts falsches übergibt. Wenn man sämtliche Values und alles noch überprüft dann hätte man viel zu viel sinnlosen Code im Forum der sich nur wiederholt. Ich glaube wenn sowieso die Funktion hardgecoded verwendet wird darf man erwarten das nichts falsches übergeben wird. Gibt der User das selber ein steigt das ganze sowieso auf ein ganz anderes Level. Aber zur veranschaulichung passt der Code schon.

think!!
__________________
Windows ist wie eine Klimaanlage: Funktioniert auch nicht mehr, wenn ein Fenster offen ist!
think!! ist offline   Mit Zitat antworten
Alt 20.04.2008, 15:15   #10 (permalink)
Neuer Benutzer
 
Registriert seit: 05.04.2008
Beiträge: 21
Standard

neija think, da muss ich ihn Schutz nehmen
"eval() is evil" sollte eigentlich jedem bekannt sein. Und was ist, wenn der Fehler nicht beim Programmierer liegt sondern beim Webservice? Wenn die mal nen fehlerhaftes XML senden, oder direkt der Content-Weg ist und nur nen Error-Element drinne ist?

Man sollte das schon richtig mit den Nodes machen oder eben XPath verwenden
ice-breaker ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit Microsoft.Web.Script.Services.ScriptMethod Gordon Sonstige Probleme 0 25.01.2007 10:49


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.