我正在从位于美国的服务器拨打电话给ebay查找api的FindItemsAdvanced。
我将ListedIn定义为"EBAY-ENCA"
,但是,当我拨打电话时 - 我发现它没有返回结果。我认为这是因为美国无法获得这些物品。
我看到有一个名为AvailableTo
的参数 - 但我怎么能说“对所有国家/地区”?在世界上编写每个iso代码可能会让人筋疲力尽。
我的代码:
ItemFilter marketFilter = new ItemFilter();
marketFilter.setName(ItemFilterType.LISTED_IN);
marketFilter.getValue().add("EBAY-ENCA");
request.getItemFilter().add(marketFilter);
ItemFilter conditionFilter = new ItemFilter();
conditionFilter.setName(ItemFilterType.AVAILABLE_TO);
conditionFilter.getValue().add("UK");
request.getItemFilter().add(conditionFilter);
答案 0 :(得分:1)
通常,此调用应该有效 - 无论您在何处调用API。所以我假设您从API收到一条错误消息,阻止返回项目。请注意,eBay Finding API的FindItemsAdvanced调用需要给定的" categoryId"或者"关键字"。你设置了这些吗?
以下是工作呼叫的XML有效负载:
<findItemsAdvancedRequest xmlns="http://www.ebay.com/marketplace/search/v1/services">
<keywords>iPhone6</keywords>
<itemFilter>
<name>ListedIn</name>
<value>EBAY-ENCA</value>
</itemFilter>
</findItemsAdvancedRequest>
我已在API playground中创建了一个示例。它使用Finding API的XML版本。只需执行调用即可查看包含项目的有效响应。您可以根据需要调整和自定义请求参数,并查看API如何响应。
&#34; AvailableTo&#34;过滤器每个请求只能使用一次,只有一个值。因此,不可能多次添加它或者使用多个值添加一次。但我不确定我的用例是否合适。你真的想要只获得世界各地的商品吗?如果是,那么我担心这很可能是不可能在没有过滤本地的情况下(例如通过过滤&#34;全球&#34;在&#34; shipToLocations&#34;)。 / p>