2013-03-26 18 views
5

Sto utilizzando findCompletedItems per cercare tutti gli elementi corrispondenti a un determinato gruppo di parole chiave in una determinata categoria (Men's Shoes) ed è facile per me specificare che I solo voglio tutti una dimensione specifica di scarpe, utilizzando aspectFilter:API di ricerca di eBay - findCompletedItems - Come restituire un aspetto specifico nell'output

<aspectFilter> 
    <aspectName>US Shoe Size (Men's)</aspectName> 
    <aspectValueName>11</aspectValueName> 
</aspectFilter> 

Ma se voglio tutti i risultati per le parole chiave e voglio l'uscita per includere un valore specifico aspetto (numero di scarpe) per ogni risultato, anche se Non sono tutti uguali, come potrei fare per farlo?

Ho passato 3 ore a hackerare via lo strumento di test API e Google per gli esempi di codice, ma non riesco a capire come eseguire una query per tutti i dati predefiniti PIÙ avere qualsiasi aspetto aggiuntivo (s) anche dopo essere stato incluso nell'output, senza interrogare più volte con aspectFilter per tutte le diverse dimensioni, il che è incredibilmente inefficiente.

+0

Non sono sicuro di aver capito cosa stai cercando di fare, ma sto leggendo la documentazione su API di eBay in questa pagina 'http: // developer.ebay.com/devzone/finding/Concepts/FindingAPIGuide' quindi ho pensato è possibile utilizzare l'operatore logico 'AND', incluse tutte le dimensioni nello stesso filtro per avere una risposta più completa, quindi utilizzare tutti i dati restituiti per visualizzarli come si desidera nel proprio linguaggio di programmazione. – Fabio

risposta

7

Non è possibile.

È possibile semplicemente creare una richiesta che specifica un outputSelector di type AspectHistogram. La risposta, tuttavia, includerà solo aggregated informations sugli aspetti degli articoli selezionati dalla richiesta. Puoi includere quanti outputSelector hai bisogno, nella richiesta, ma gli aspetti di saranno sempre aggregati, poiché (per definizione) "aspects are item characteristics shared by items in a given domain" (leggi dominio = risultati di ricerca).

Probabilmente, quello che stai cercando è item attributes invece, che dovrebbe già essere presente nei risultati, poiché sono specifici di ogni articolo.

modificare

Secondo l'uscita tavolo campi specifici-Call per SearchResult.item.attribute: "Il campo è condizionatamente restituito Vedere la documentazione campo di chiarire le condizioni.".

Ciò significa che tali attributi sono specifici dell'elemento trovato: ogni attributo può essere presente in un articolo ma non in un altro. Non devi fare nulla di speciale per ottenerli. Li troverai nell'elemento <SearchResult>, all'interno di ogni <item>, ciascuno in un elemento <attribute>.

Nella XML risposta si dovrebbe trovare qualcosa di simile:

<?xml version="1.0" encoding="utf-8"?> 
<findItemsAdvancedResponse xmlns="http://www.ebay.com/marketplace/search/v1/services"> 
    <!-- various things here... --> 
    <searchResult count="1"> 
    <item> 
    <attribute> 
     <name>Size</name> 
     <value>XXL</value> 
    </attribute> 
    <!-- ... more attribute nodes allowed here ... --> 
    <!-- ... more item info here ... --> 
    </item> 
    <!-- ... more items ... --> 
    </searchResult> 
</findItemsAdvancedResponse> 

Puoi trovare altri esempi here e si può anche andare più in profondità nei contenuti risultato XML utilizzando this documentation.

Edit 2
Questo sembra contraddict la documentation, che afferma:

chiamate che utilizzano uno o più campi di ItemAttribute:

findCompletedItems, findItemsAdvanced, findItemsByCategory, findItemsByKeywords, findItemsByProduct, findItemsIneBayStores

proposito, sembra che si deve utilizzare GetSingleItem con IncludeSelector = ItemSpecifics per gli elementi che si trovano tramite findCompletedItems. Vorrei provare a modificare l'API findItemsAdvanced passando "ItemSpecifics" come IncludeSelector o OutputSelects. Il mio suggerimento finale è di chiedere a customer service. In bocca al lupo!

+0

Potresti essere su qualcosa, ma non ne sono sicuro. Secondo la tabella Campi di output specifici della chiamata per SearchResult.item.attribute: _ "Il campo viene restituito condizionalmente. Vedere la documentazione sul campo per chiarire le condizioni." _ Quindi, anche se sei corretto, posso ottenere il dimensione della scarpa ottenendo la ricerca per restituire i valori SearchResult.item.attribute per ciascun articolo, non sono ancora sicuro di come chiedere tali informazioni nella mia richiesta. Qualche idea su questo? Grazie per l'aiuto. – Trae

+0

modificato ... spero che questo aiuto –

+0

lo apprezzo, ma quell'informazione semplicemente non è nella risposta. Ad esempio, questo articolo: http://www.ebay.com/itm/1997-Air-Jordan-XII-12-PE-OG-Original-Game-Worn-MJ-PE-White-Red-Sample-FTPS- 14-/261179483027 Vedrai nelle specifiche degli articoli che elenca chiaramente "Dimensione scarpa americana (uomo): 14", ma l'XML di risposta predefinito non ha quell'informazione. Vedi qui per la risposta di esempio: http://www.hdipreview.com/misc/ebay_api_response.jpg – Trae

Problemi correlati