2013-04-24 12 views
7

Sto lavorando con Amazon API e ho utilizzato il codice da fonti online http://www.codediesel.com/php/accessing-amazon-product-advertising-api-in-php/.Come accedere a più di 10 dettagli di un elemento in Amazon API utilizzando php?

Vorrei ottenere più di 10 dettagli del prodotto quando faccio una query di ricerca utilizzando amazon api. Sono a conoscenza della politica di Amazon API di ottenere 10 dati per chiamata, ma è possibile ottenere più dati creando loop o qualcosa del genere?

Quando faccio una richiesta che ho assegnati seguenti parameteres

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

Quindi, anche se ho chiesto per 10 pagine di risultato, io sono sicuro di come visualizzare i dati da ogni pagina (da 1 a 10) in modo in totale ottengo 100 oggetti quando faccio una query. Ottengo seguente risposta quando cerco di fare eseguire il codice:

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) 
) 

risposta

4

Sì, si avrebbe bisogno di un ciclo tra 10 volte e aggiunge una matrice o un oggetto. La documentazione di AWS afferma che ItemPage è in realtà la pagina dei risultati, quindi è sufficiente scorrere la pagina 10 volte per ottenere i 100 risultati.

AWS documentazione su 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

Bello, ha funzionato per me –

-1

possiamo utilizzare il parametro produttore insieme a BrowseNode per recuperare più di 100 prodotti in una categoria specifica.

Problemi correlati