2013-04-24 14 views
7

Pracuję z Amazon Api i użyłem kodu ze źródeł internetowych http://www.codediesel.com/php/accessing-amazon-product-advertising-api-in-php/.Jak uzyskać dostęp do więcej niż 10 elementów w aplikacji Amazon za pomocą php?

Chciałbym uzyskać więcej niż 10 szczegółów produktu, gdy robię zapytanie za pomocą api amazon. Jestem świadomy polityki amazon api dotyczącej uzyskiwania 10 danych na połączenie, ale czy można uzyskać więcej danych, tworząc pętlę lub coś takiego?

Kiedy złożyć wniosek mam przypisane następujące parameteres

$parameters = array("Operation"  => "ItemSearch", 
        "SearchIndex" => "Electronics", 
        "ResponseGroup" => "Images,ItemAttributes,EditorialReview,Offers ", 
        "ItemPage"=>"10", 
        "Keywords" => $search                                    ); 

Więc chociaż prosić o 10 stron wyniku, jestem pewien, w jaki sposób wyświetlania danych z każdej strony (od 1 do 10), tak w sumie dostaję 100 przedmiotów, gdy robię zapytanie. Ja się po odpowiedź, gdy staram się uruchomić kod:

SimpleXMLElement Object ( 
    [Request] => SimpleXMLElement Object ( 
     [IsValid] => True    
     [ItemSearchRequest] => SimpleXMLElement Object ( 
      [ItemPage] => 10 
      [Keywords] => laptop 
      [ResponseGroup] => Array ( 
       [0] => Images 
       [1] => ItemAttributes 
       [2] => EditorialReview 
       [3] => Offers 
      ) 
      [SearchIndex] => Electronics 
     ) 
    ) 
    [TotalResults] => 3383691 
    [TotalPages] => 338370 
    [MoreSearchResultsUrl] => http://www.amazon.co.uk/gp/redirect.html?camp=2025&creative=12734&location=http%3A%2F%2Fwww.amazon.co.uk%2Fgp%2Fsearch%3Fkeywords%3Dlaptop%26url%3Dsearch-.................(and on) 
) 

Odpowiedz

4

Tak, trzeba byłoby pętli 10 razy i dołącza tablicę lub obiekt. Dokumentacja AWS mówi, że ItemPage jest w rzeczywistości stroną wyników, więc wystarczy 10 razy ją przejrzeć, aby uzyskać 100 wyników.

AWS Dokumentacja ItemPage:

http://docs.aws.amazon.com/AWSECommerceService/latest/DG/PagingThroughResults.html

$obj = new AmazonProductAPI(); 

$results = array(); 

for ($i=1;$i<=10;$i++) { 
    $parameters = array("Operation"  => "ItemSearch", 
       "SearchIndex" => "Electronics", 
       "ResponseGroup" => "Images,ItemAttributes,EditorialReview,Offers ", 
       "ItemPage"=>$i, 
       "Keywords" => $search); 

    $results[] = $obj->searchProducts($parameters); 

} 

foreach ($results as $r) { 
    //do your stuff 
} 
+0

Dobrze, zadziałało dla mnie –

-1

Możemy użyć parametru producenta wraz z BrowseNode odzyskać ponad 100 produktów w określonej kategorii.

Powiązane problemy