Zend_Service_AmazonEinführungZend_Service_Amazon ist eine einfach API für
die Benutzung des Amazon Web Services. Zend_Service_Amazon hat 2
APIs: eine traditionellere welche Amazon's eigener
API folgt, und eine simplere "Abfrage API" um
sogar komplexe Suchabfragen einfachst machen zu können.
Zend_Service_Amazon erlaubt es Entwicklern, Informationen von
allen Amazon.com Web Seiten durch das Amazon Web Services API zu
empfangen. Beispiele beinhalten:
Informationen speichern, wie Bilder, Beschreibungen, Preise uvm.Kunden und Editorial ReviewsÄhnliche Produkte und ZubehörAmazon.com AngeboteListMania Liste
Um Zend_Service_Amazon benutzen zu können, benötigt man einen
Amazon Entwickler API Schlüssel sowie einen geheimen Schlüssel. Um
den Schlüssel zu bekommen und für weiter führende Informationen besuchen Sie bitte die
Amazon Web Service Web
Seite. Seit dem 15. August 2009 kann man die Amazon Produkt Advertising
API über Zend_Service_Amazon nur dann
verwenden wenn man einen zusätzlichen geheimen Schlüssel spezifiziert.
Achtung
Der eigene Amazon Entwickler API und der geheime Schlüssel sind
mit der eigenen Amazon Identität verknüpft. Deswegen sollte man darauf achten das
die Schlüssel privat bleibt.
Suchen in Amazon mit der traditionellen API
In diesem Beispiel suchen wir nach PHP Büchern bei Amazon,
blättern durch die Resultate und Drucken diese aus.
itemSearch(array('SearchIndex' => 'Books',
'Keywords' => 'php'));
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>Suchen in Amazon mit der Abfrage API
Hier suchen wir auch nach PHP Büchern bei Amazon. Aber wir
verwenden stattdessen die Abfrage API, welche das Fluent
Interface Design Pattern verwendet.
category('Books')->Keywords('PHP');
$results = $query->search();
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>Ländercodes
Standardmäßig verbindet sich Zend_Service_Amazon zum Amazon Web
Service der Vereinigten Staaten ("US"). Um sich zu einem anderen Land zu
verbinden, muß einfach der entsprechende String des Landercodes als zweiter Parameter an
den Konstruktor übergeben werden:
Auswahl eines Amazon Web Service LandesLändercodes
Gültige Ländercodes sind: CA, DE, FR,
JP, UK, and US.
Betrachten eines speziellen Teils bei Amazon durch ASIN
Die itemLookup() Methode ermöglicht es ein bestimmtes Teil bei
Amazon zu erhalten wenn der ASIN bekannt ist.
Betrachten eines speziellen Teils bei Amazon durch ASINitemLookup('B0000A432X');
]]>
Die itemLookup() Methode akzeptiert auch einen optionalen
zweiten Parameter für die Handhabung der Suchoptionen. Für komplette Details, inklusive
einer Liste der möglichen Optionen sehen Sie bitte in die relevante
Amazon Dokumentation.
Bildinformationen
Um Bildinformationen für deine Suchergebnisse zu erhalten, musst du die
ResponseGroup Option auf Medium oder Large
setzen.
Suchen nach Teilen bei Amazon
Das Suchen nach Teilen, basierend auf den unterschiedlichen möglichen Kriterien ist
einfach gehalten durch benutzen der itemSearch() Methode wie im
folgenden Beispiel:
Suchen nach Teilen bei AmazonitemSearch(array('SearchIndex' => 'Books',
'Keywords' => 'php'));
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>Verwenden der ResponseGroup Option
Die ResponseGroup Option wird verwendet um die spezielle Information
zu kontrollieren die in der Antwort zurückgegeben wird.
itemSearch(array(
'SearchIndex' => 'Books',
'Keywords' => 'php',
'ResponseGroup' => 'Small,ItemAttributes,Images,SalesRank,Reviews,' .
'EditorialReview,Similarities,ListmaniaLists'
));
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>
Die itemSearch() Methode akzeptiert einen einzelnen Parameter
als Array für die Handhabung der Suchoptionen. Für komplette Details, inklusive eine
Liste der möglichen Optionen sehen Sie bitte in die relevante
Amazon Dokumentation
Die Zend_Service_Amazon_Query
Klasse ist ein einfach zu benutzender Wrapper für diese Methode.
Benutzen der alternativen Abfrage APIEinführungZend_Service_Amazon_Query bietet eine alternative
API für die Benutzung der Amazon Web Services. Die alternative
API benutzt das Fluent Interface Pattern. Das bedeutet, alle
Aufrufe können durchgeführt werden durch Benutzen von verketteten Methoden Aufrufen.
(z.B., $obj->method()->method2($arg))
Die Zend_Service_Amazon_Query API benutzt
Überladung um einfachst eine Teile Suche zu realisieren, und ermöglicht es,
basierend auf den spezifizierten Kriterien, zu suchen. Jede der Optionen wird als
Methoden Aufruf angeboten, und jedes Methoden Argument korrespondiert mit dem
beschriebenen Options Wert:
Suchen in Amazon durch Benutzen der alternativen Abfrage API
In diesem Beispiel wird die alternative Abfrage API als
Fluent Interface benutzt um Optionen und Ihre Werte festzulegen:
Category('Books')->Keywords('PHP');
$results = $query->search();
foreach ($results as $result) {
echo $result->Title . ' ';
}
]]>
Das setzt die Option Category auf "Books" und Keywords
auf "PHP".
Für weitere Informationen über die möglichen Optionen, sehen Sie bitte in die
relevante
Amazon Dokumentation.
Zend_Service_Amazon Klassen
Die folgenden klassen werden alle zurückgegeben durch Zend_Service_Amazon::itemLookup()
und Zend_Service_Amazon::itemSearch():
Zend_Service_Amazon_ItemZend_Service_Amazon_ImageZend_Service_Amazon_ResultSetZend_Service_Amazon_OfferSetZend_Service_Amazon_OfferZend_Service_Amazon_SimilarProductZend_Service_Amazon_AccessoriesZend_Service_Amazon_CustomerReviewZend_Service_Amazon_EditorialReviewZend_Service_Amazon_ListManiaZend_Service_Amazon_ItemZend_Service_Amazon_Item ist ein Klassen Typ der benutzt wird
um ein Amazon Teil darzustellen welches durch das Web Service zurück gegeben wird.
Es enthält alle Attribute des Teils wie z.B. Titel, Beschreibung, Reviews, usw.
Zend_Service_Amazon_Item::asXML()stringasXMLGibt das original XML für dieses Teil zurückEigenschaftenZend_Service_Amazon_Item hat eine Anzahl an Eigenschaften
welche eine direkte Beziehung zu Ihren Standard Amazon API
Gegenstücken haben.
Zend_Service_Amazon_Item EigenschaftenNameTypBeschreibungASINstringAmazon Teil IDDetailPageURLstringURL zur Detailseite des TeilsSalesRankintVerkaufs Rang des TeilsSmallImageZend_Service_Amazon_ImageKleines Bild des TilesMediumImageZend_Service_Amazon_ImageMittleres Bild des TeilsLargeImageZend_Service_Amazon_ImageGroßes Bild des TeilsSubjectsarrayInhalte des TeilsOffersZend_Service_Amazon_OfferSetSumme der Angebote und Angebote für dieses TeilCustomerReviewsarray
Kunden Reviews dargestellt als Array von
Zend_Service_Amazon_CustomerReview
Objekten
EditorialReviewsarray
Editorial Reviews dargestellt als Array von Zend_Service_Amazon_EditorialReview
Objekten
SimilarProductsarray
Ähnliche Produkte dargestellt als Array von Zend_Service_Amazon_SimilarProduct
Objekten
Accessoriesarray
Zubehör für dieses Teil dargestellt als Array von Zend_Service_Amazon_Accessories
Objekten
Tracksarray
Ein Array mit Track Nummern und Namen für Musik CDs und
DVDs
ListmaniaListsarray
Passende Listmania Liste für diese Teil, als Array von
Zend_Service_Amazon_ListmainList
Objekten
PromotionalTagstringPromotion Tag des Teils
Zurück zur Liste der Klassen
Zend_Service_Amazon_ImageZend_Service_Amazon_Image repräsentiert ein entferntes Bild
für ein Produkt.
Eigenschaften
Zend_Service_Amazon_Image EigenschaftenNameTypBeschreibungUrlZend_UriEntfernte URL für das BildHeightintDie Höhe des Bildes als PixelWidthintDie Breite des Bildes als Pixel
Zurück zur Liste der Klassen
Zend_Service_Amazon_ResultSetZend_Service_Amazon_ResultSet Objekte werden zurückgegeben
durch Zend_Service_Amazon::itemSearch()
und erlauben es, die vielfach zurück gelieferten Resultate, einfachst zu Handhaben.
SeekableIterator
Implementiert den SeekableIterator für einfach Iteration
(z.B. benutzen von foreach), sowie direkten Zugriff auf ein
Spezielles Resultat mit seek().
Zend_Service_Amazon_ResultSet::totalResults()inttotalResults
Liefert die Gesamtanzahl der Resultate welche die Suche zurückgegeben hat
Zurück zur Liste der Klassen
Zend_Service_Amazon_OfferSet
Jedes Resultat welches durch Zend_Service_Amazon::itemSearch()
und Zend_Service_Amazon::itemLookup()
zurückgegeben wird beinhaltet ein
Zend_Service_Amazon_OfferSet
Objekt durch welches Preisinformationen für das Teil empfangen werden können.
Eigenschaften
Zend_Service_Amazon_OfferSet PropertiesNameTypBeschreibungLowestNewPriceintNiedrigster Preis des Teiles als "Neuwert"LowestNewPriceCurrencystringDie Währung für LowestNewPriceLowestOldPriceint
Niedrigster Preis des Teiles als "Gebrauchtwert"
LowestOldPriceCurrencystringDie Währung für LowestOldPriceTotalNewint
Erhältliche Gesamtanzahl dieses Teils mit "Neuwert"
TotalUsedint
Erhältliche Gesamtanzahl dieses Teils mit
"Gebrauchtwert"
TotalCollectibleint
Erhältliche Gesamtanzahl dieses Teils die "Sammelbar"
sind
TotalRefurbishedint
Erhältliche Gesamtanzahl dieses Teils die
"Wiederhergestellt" sind
Offersarray
Ein Array von
Zend_Service_Amazon_Offer Objekten.
Zurück zur Liste der Klassen
Zend_Service_Amazon_Offer
Jedes Angebot für ein Teil wird als
Zend_Service_Amazon_Offer Objekt zurück gegeben.
Zend_Service_Amazon_Offer Eigenschaften
EigenschaftenNameTypBeschreibungMerchantIdstringAmazon ID des AnbietersMerchantNamestring
Der Amazon Name des Anbieters. Benötigt die Option
ResponseGroup auf OfferFull um
Empfangen werden zu können.
GlancePagestring
URL einer Seite mit einer Zusammenfassung des Anbieters
ConditionstringKondition des TeilsOfferListingIdstringID der Angebots ListePriceintPreis für das TeilCurrencyCodestringWährungscode des Preises für das TeilAvailabilitystringErhältlichkeit des TeilsIsEligibleForSuperSaverShippingboolean
Ob das Teil erhältlich ist für Super Sicheren Versand oder nicht
Zurück zur Liste der Klassen
Zend_Service_Amazon_SimilarProduct
Bei der Suche nach Teilen gibt Amazon auch eine Liste an ähnlichen Produkten zurück,
welche dem Suchenden empfohlen werden. Jedes dieser Produkte wird als
Zend_Service_Amazon_SimilarProduct Objekt zurückgegeben.
Jedes Objekt enthält die Informationen welche es erlauben eine Subanfrage zu machen,
um die kompletten Informationen zu diesem Teil zu bekommen.
Eigenschaften
Zend_Service_Amazon_SimilarProduct EigenschaftenNameTypBeschreibungASINstringEindeutige Amazon ID des Produkts (ASIN)TitlestringProdukt Überschrift
Zurück zur Liste der Klassen
Zend_Service_Amazon_Accessories
Zubehör für das zurückgegebene Teil werden als
Zend_Service_Amazon_Accessories Objekte dargestellt.
Eigenschaften
Zend_Service_Amazon_Accessories EigenschaftenNameTypBeschreibungASINstringEindeutige Amazon ID des Produkts (ASIN)TitlestringProdukt Überschrift
Back to Class List
Zend_Service_Amazon_CustomerReview
Jede Kunden Review wird als
Zend_Service_Amazon_CustomerReview Objekt zurückgegeben.
Eigenschaften
Zend_Service_Amazon_CustomerReview EigenschaftenNameTypBeschreibungRatingstringBewertung des TeilsHelpfulVotesstringStimmen wie hilfreich die Review istCustomerIdstringKunden IDTotalVotesstringGesamtzahl der StimmenDatestringDatum der ReviewSummarystringZusammenfassung der ReviewContentstringInhalt der Review
Zurück zur Liste der Klassen
Zend_Service_Amazon_EditorialReview
Jede Editorial review des Teils wird als
Zend_Service_Amazon_EditorialReview Objekt zurückgegeben.
Eigenschaften
Zend_Service_Amazon_EditorialReview EigenschaftenNameTypBeschreibungSourcestringQuelle der Editorial ReviewContentstringInhalt des Reviews
Zurück zur Liste der Klassen
Zend_Service_Amazon_Listmania
Jedes List Mania List Ergebnis des Teils wird als
Zend_Service_Amazon_Listmania Objekt zurückgegeben.
Eigenschaften
Zend_Service_Amazon_Listmania EigenschaftenNameTypBeschreibungListIdstringID der ListeListNamestringName der Liste