【发布时间】:2013-10-12 17:07:56
【问题描述】:
我正在尝试在我的findItemsAdvanced 查询中使用categoryId:
api.execute('findItemsAdvanced', {
'keywords': 'laptop',
'categoryId': '51148'}
我得到的结果是,例如(打印searchResult 字典):
'itemId': {'value': '200971548007'}, 'isMultiVariationListing': .............
'primaryCategory': {'categoryId': {'value': '69202'}, 'categoryName': {'value': 'Air Conditioning'}}
....."
您可以看到结果的 categoryId 为 69202,而不是 51148。
我在这里做错了什么?我只是在以下位置使用 find.py 代码:
https://github.com/timotheus/ebaysdk-python
谢谢
编辑
我做了一些测试。我提取了 SDK 构建的 XML。如果我打电话给:
'categoryId': '177'
回复是:
the request_xml is <?xml version='1.0' encoding='utf-8'?><findItemsAdvancedRequest
xmlns="http://www.ebay.com/marketplace/search/v1/services"><categoryId>177</categoryId>
<itemFilter><name>Condition</name><value>Used</value></itemFilter><itemFilter>
<name>LocatedIn</name><value>GB</value></itemFilter><keywords>laptop</keywords>
<paginationInput><entriesPerPage>100</entriesPerPage><pageNumber>1</pageNumber>
</paginationInput></findItemsAdvancedRequest>
我也得到了同样的结果
'categoryId': ['177']
我觉得这有点奇怪,我认为 XML categoryId 的适当名称是带有大写 C 的“CategoryId”。如果这样做,我不会收到错误,但结果不限于categoryId 已请求。
像上面那样做,我仍然得到错误:
异常:findItemsAdvanced:域:市场,严重性:错误, errorId: 3, 类别 ID 无效。
【问题讨论】:
-
再试一次。让一个工作。可能您的端点有不同的允许类别。
-
我不知道这是否会有所帮助,但英国 eBay 网站上不存在类别 51148。
-
我尝试不使用 categoryId 要求,然后在输出中取其中一个,所以它必须存在!特别是,我正在尝试使用 177,它对应于笔记本电脑和笔记本电脑。
-
你能澄清一下到底是什么问题吗?如果您在任何请求中使用类别 ID 51148,它将根本不起作用,因为该类别对英国站点无效。如果您使用的是 177 类,那么据我所知,代码应该没问题。
-
如果我不使用任何 categoryId 要求,并打印我的搜索检索到的 categoryIds,例如,我会得到 177。现在我重复完全相同的搜索,但我仅添加'categoryId':'177',这应该是只为该类别获取结果的方式。然后它抱怨我在上面粘贴的错误“无效的类别 ID”。 categoryId是有效的,我刚才是从之前的搜索中得到的,所以不知道是怎么回事。
标签: ebay-api