5

findCompletedItems特定のカテゴリ(メンズシューズ)の特定のキーワードセットに一致するすべてのアイテムを検索するために使用しています。次を使用して、特定の靴のサイズすべてのみが必要であることを簡単に指定できますaspectFilter

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

しかし、キーワードのすべての結果が必要で、出力に各結果の特定のアスペクト値(靴のサイズ)を含めたい場合、それらがすべて同じでなくても、どうすればよいでしょうか?

APIテストツールとグーグルを使用してコードサンプルをハッキングするのに3時間費やしましたが、すべてのデフォルトデータをクエリする方法がわかりません。さらに、追加の側面も含まれています。出力では、すべての異なるサイズに対して複数回クエリを実行せずにaspectFilter、これは非常に非効率的です。

4

1 に答える 1

7

できません。

タイプAspectHistogramのoutputSelectorを指定するリクエストを作成するだけです。ただし、応答には、リクエストで選択したアイテムの側面に関する集約情報のみが含まれます。必要なoutputSelectorの数をリクエストに含めることができますが、アスペクトは常に集約されます。これは、(定義上)「アスペクトは特定のドメイン内のアイテムによって共有されるアイテムの特性である」(読み取りドメイン=検索結果)ためです。

おそらく、探しているのはアイテム属性です。これらは各アイテムに固有であるため、結果にすでに存在しているはずです。

編集

SearchResult.item.attributeの呼び出し固有の出力フィールドテーブルによると、 「フィールドは条件付きで返されます。条件の明確化については、フィールドのドキュメントを参照してください。」

これは、そのような属性が見つかったアイテムに固有であることを意味します。各属性はアイテムに存在できますが、別のアイテムには存在できません。それらを取得するために特別なことをする必要はありません。それらは<SearchResult>要素の中にあり<item>、それぞれの中にあり、それぞれが<attribute>要素の中にあります。

応答XMLには、次のようなものがあります。

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

ここでさらに多くの例を見つけることができます。また、このドキュメントを使用してXML結果の内容を詳しく調べることもできます。

編集2
これは、次のように述べているドキュメントと矛盾しているようです。

ItemAttributeの1つ以上のフィールドを使用する呼び出し:

findCompletedItems、findItemsAdvanced、findItemsByCategory、findItemsByKeywords、findItemsByProduct、findItemsIneBayStores

ところで、findCompletedItemsで見つけたアイテムには、IncludeSelector=ItemSpecificsを指定してGetSingleItemを使用する必要あるようです。IncludeSelectorまたはOutputSelectsのいずれかとして「ItemSpecifics」を渡すことにより、 findItemsAdvancedAPIをハックしようとします。私の最後の提案はカスタマーサービスに尋ねることです。幸運を!

于 2013-04-03T23:12:21.313 に答える