Zend_Service_Amazon
jest prostym API do użycia z web serwisami
Amazon. Zend_Service_Amazon
ma dwa API: bardziej tradycyjne,
które jest oparte na własnym API serwisu Amazon, oraz prostsze API zapytań do
łatwego tworzenia nawet skomplikowanych zapytań wyszukiwania.
Zend_Service_Amazon
pozwala programistom odbierać
informacje dostępne na stronach Amazon.com bezpośrednio za pomocą
API web serwisów Amazon. Przykłady zawierają:
Informacje o przedmiotach, takie jak obrazki, opisy, cenniki i inne
Recenzje klientów i redaktorów
Podobne produkty i akcesoria
Oferty Amazon.com
Listy ListMania
Aby użyć Zend_Service_Amazon
, musisz posiadać klucz API programisty
Amazon. Aby otrzymać klucz i zdobyć więcej informacji odwiedź stronę
Amazon Web Services.
Uwaga | |
---|---|
Twój klucz do API serwisu Amazon jest połączony z twoją tożsamością w Amazon, więc staraj się przechowywać twój klucz API bezpiecznie. |
Przykład 29.4. Przeszukiwanie Amazon używając tradycyjnego API
W tym przykładzie, szukamy książek o PHP w Amazon i przechodzimy przez nie w pętli, wyświetlając je.
<?php require_once 'Zend/Service/Amazon.php'; $amazon = new Zend_Service_Amazon('AMAZON_API_KEY'); $response = $amazon->itemSearch(array('SearchIndex' => 'Books', 'Keywords' => 'php')); foreach ($response as $r) { echo $r->Title .'<br />'; } ?>
Przykład 29.5. Przeszukiwanie Amazon używając API zapytań
Tutaj także szukamy książek o PHP w Amazon, ale zamiast tradycyjnego API używamy API zapytań, które jest stworzone w oparciu o projektowy wzorzec płynnych interfejsów.
<?php require_once 'Zend/Service/Amazon/Query.php'; $query = new Zend_Service_Amazon_Query('AMAZON_API_KEY'); $query->category('Books')->Keywords('PHP'); $results = $query->search(); foreach ($results as $result) { echo $result->Title .'<br />'; } ?>
Domyślnie, Zend_Service_Amazon
łączy się z web serwisem
Amazon w Stanach Zjednoczonych ("US
"). Aby połączyć się
z innym krajem, w prosty sposób podaj kod odpowiedniego państwa jako
drugi parametr konstruktora:
Przykład 29.6. Wybierania państwa web serwisu Amazon
<?php // Łączenie się z Amazon w Japonii require_once 'Zend/Service/Amazon.php'; $amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'JP'); ?>
Kody państw | |
---|---|
Poprawne kody państw: |
Metoda itemLookup()
zapewnia możliwość pobrania informacji
o konkretnym przedmiocie, którego ASIN jest znany.
Przykład 29.7. Szukanie specyficznego przedmiotu w Amazon na podstawie ASIN
<?php require_once 'Zend/Service/Amazon.php'; $amazon = new Zend_Service_Amazon('AMAZON_API_KEY'); $item = $amazon->itemLookup('B0000A432X'); ?>
Metoda itemLookup()
także akceptuje opcjonalny drugi parametr
do obsługi opcji wyszukiwania. Aby poznać pełne informacje, włączając
w to listę dostępnych opcji odwiedź
dokumentację Amazon.
Informacje o zdjęciach | |
---|---|
Aby odebrać informacje o zdjęciach dla twoich wyników wyszukiwania, musisz ustawić
opcję |
Wyszukiwanie przedmiotów oparte na różnych dostępnych kryteriach
jest przeprowadzane za pomocą metody itemSearch()
, tak
jak w poniższym przykładzie:
Przykład 29.8. Wykonywanie wyszukiwań przedmiotów Amazon
<?php require_once 'Zend/Service/Amazon.php'; $amazon = new Zend_Service_Amazon('AMAZON_API_KEY'); $response = $amazon->itemSearch(array('SearchIndex' => 'Books', 'Keywords' => 'php')); foreach($response as $r) { echo $r->Title .'<br />'; } ?>
Metoda itemSearch()
akceptuje jeden parametr w postaci
tablicy do obsługi opcji wyszukiwania. Aby poznać wszystkie
szczegóły włączając w to listę dostępnych opcji, proszę zobacz
dokumentację Amazon
Podpowiedź | |
---|---|
Klasa |
Zend_Service_Amazon_Query
zapewnia alternatywne API
do użycia z web serwisami Amazon. Alternatywne API używa wzorca
projektowego płynnych interfejsów. Oznacza to, że wszystkie
wywołania mogą być przeprowadzone przez łańcuchowe wywołania
metod. (np. $obj->method()->method2($arg)
)
API Zend_Service_Amazon_Query
używa przeładowania
w celu łatwego ustawiania wyszukiwania przedmiotów i pozwala na
wyszukiwanie na podstawie określonych kryteriów. Każda z opcji
jest udostępniana jako wywołanie metody, a każdy argument metody
odpowiada wartości opcji o tej nazwie:
Przykład 29.9. Przeszukiwanie serwisu Amazon używając alternatywnego API zapytań
W tym przykładzie alternatywne API zapytań używane jest jako płynny interfejs służący do określania opcji i odpowiadającym im wartościom:
<?php require_once 'Zend/Service/Amazon/Query.php'; $query = new Zend_Service_Amazon_Query('MY_API_KEY'); $query->Category('Books')->Keywords('PHP'); $results = $query->search(); foreach ($results as $result) { echo $result->Title .'<br />'; } ?>
To ustawia opcję Category
na "Books" oraz Keywords
na "PHP".
Aby uzyskać więcej informacji o dostępnych opcjach, proszę odwiedź dokumentację Amazon.
Poniższe klasy są zwracane przez metody
Zend_Service_Amazon::itemLookup()
oraz
Zend_Service_Amazon::itemSearch()
:
Zend_Service_Amazon_Item
jest typem klasy używanej
dp reprezentowania przedmiotu Amazon zwracanego przez web serwis.
Zawiera ona wszystkie atrybuty przedmiotu, włączając w to tytuł,
opis, recenzje itd.
string asXML();
Zwraca oryginalną treść XML dla przedmiotu
Zend_Service_Amazon_Item
posiada właściwości
bezpośrednio związane ze standardowymi częściami Amazon API.
Tabela 29.1. Właściwości Zend_Service_Amazon_Item
Nazwa | Typ | Opis |
---|---|---|
ASIN | string | ID przedmiotu w Amazon |
DetailPageURL | string | Adres URL strony ze szczegółowymi informacjami o przedmiocie |
SalesRank | string | Ranking sprzedaży dla przedmiotu |
SmallImage | Zend_Service_Amazon_Image | Małe zdjęcie przedmiotu |
MediumImage | Zend_Service_Amazon_Image | Średnie zdjęcie przedmiotu |
LargeImage | Zend_Service_Amazon_Image | Duże zdjęcie przedmiotu |
Subjects | array | Tematy przedmiotów |
Offers |
Zend_Service_Amazon_OfferSet
|
Podsumowanie ofert oraz oferty dla przedmiotu |
CustomerReviews | array |
Recenzje klientów reprezentowane jako tablica obiektów
Zend_Service_Amazon_CustomerReview
|
EditorialReviews | array |
Recenzje redaktorów reprezentowane jako tablica obiektów
Zend_Service_Amazon_EditorialReview
|
SimilarProducts | array |
Podobne produkty reprezentowane jako tablica obiektów
Zend_Service_Amazon_SimilarProduct
|
Accessories | array |
Akcesoria dla przedmiotu reprezentowane jako tablica obiektów
Zend_Service_Amazon_Accessories
|
Tracks | array | Tablica numerów i nazw utworów dla muzycznych płyt CD oraz DVD |
ListmaniaLists | array |
Listy Listmania powiązane z przedmiotem jako tablica obiektó∑
Zend_Service_Amazon_ListmainList
|
PromotionalTag | string | Etykieta promocyjna przedmiotu |
Zend_Service_Amazon_Image
reprezentuje zdalny obraz dla produktu.
Obiekty Zend_Service_Amazon_ResultSet
są zwracane przez metodę
Zend_Service_Amazon::itemSearch()
i pozwalają ci na łatwą obsługę wielu zwróconych wyników wyszukiwania.
SeekableIterator | |
---|---|
Implementuje interfejs |
int totalResults();
Zwraca całkowitą ilość wyników zwróconych przez wyszukiwanie
Każdy wynik zwracany przez metody
Zend_Service_Amazon::itemSearch()
oraz
Zend_Service_Amazon::itemLookup()
zawiera obiekt
Zend_Service_Amazon_OfferSet
poprzez który dostępne są
informacje o cenach dla przedmiotu.
Tabela 29.3. Właściwości Zend_Service_Amazon_OfferSet
Nazwa | Typ | Opis |
---|---|---|
LowestNewPrice | int | Najniższa cena dla nowego przedmiotu (stan "New") |
LowestNewPriceCurrency | string |
Waluta dla LowestNewPrice
|
LowestOldPrice | int | Najniższa cena dla używanego przedmiotu (stan "Used") |
LowestOldPriceCurrency | string |
Waluta dla LowestOldPrice
|
TotalNew | int | Całkowita ilość przedmiotów o stanie "new" |
TotalUsed | int | Całkowita ilość przedmiotów o stanie "used" |
TotalCollectible | int | Całkowita ilość przedmiotów o stanie "collectible" |
TotalRefurbished | int | Całkowita ilość przedmiotów o stanie "refurbished" |
Offers | array |
Tablica obiektów
Zend_Service_Amazon_Offer .
|
Każda oferta dla przedmiotu jest zwracana jako obiekt
Zend_Service_Amazon_Offer
.
Tabela 29.4. Właściwości
Nazwa | Typ | Opis |
---|---|---|
MerchantId | string | ID handlowca Amazon |
GlancePage | string | Adres URL strony z podsumowaniem handlowca |
Condition | string | Stan przedmiotu |
OfferListingId | string | ID listy ofert |
Price | int | Cena za przedmiot |
CurrencyCode | string | Kod waluty dla ceny przedmiotu |
Availability | string | Dostępność przedmiotu |
IsEligibleForSuperSaverShipping | boolean | Czy przedmiot jest dostępny w Super Saver Shipping czy nie |
Kiedy wyszukujemy przedmiotów, Amazon także zwraca listę
podobnych produktów, które także mogą odpowiadać szukającemu.
Każdy z nich jest zwracany jako obiekt
Zend_Service_Amazon_SimilarProduct
.
Każdy obiekt zawiera informacje pozwalające ci na przeprowadzenie kolejnego żądania w celu pobrania pełnych informacji o przedmiocie.
Akcesoria dla zwróconego przedmiotu są reprezentowane jako obiekty Zend_Service_Amazon_Accessories
Każda recenzja klienta jest zwracana jako obiekt Zend_Service_Amazon_CustomerReview
.
Tabela 29.7. Właściwości Zend_Service_Amazon_CustomerReview
Nazwa | Typ | Opis |
---|---|---|
Rating | string | Ocena przedmiotu |
HelpfulVotes | string | Głosy mówiące o tym jak pomocna jest recenzja |
CustomerId | string | ID klienta |
TotalVotes | string | Całkowiita ilość głosów |
Date | string | Data oceny |
Summary | string | Podsumowanie oceny |
Content | string | Zawartość oceny |
Każda recenzja redaktora jest zwracana jako obiekt
Zend_Service_Amazon_EditorialReview