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 的一个或多个字段的调用:

findCompletedItems, findItemsAdvanced, findItemsByCategory, findItemsByKeywords, findItemsByProduct, findItemsIneBayStores

顺便说一句,看起来您必须将GetSingleItemIncludeSelector=ItemSpecifics 一起用于通过findCompletedItems找到的项目。我会尝试通过将“ItemSpecifics”作为 IncludeSelector 或 OutputSelects来破解findItemsAdvanced api。我最后的建议是问客服。祝你好运!

于 2013-04-03T23:12:21.313 回答