如何在 ebay 中为美国以外的网站使用 GetSuggestedCategories 函数 api
How to use GetSuggestedCategories function for Other Than US Site in ebay api
我需要为我的项目获取建议的类别。但是,当我提出请求时,我得到了美国网站的回复。在英国如何获得?
我的代码:
from ebaysdk.trading import Connection
api = Connection(config_file="ebay.yaml",
domain="api.ebay.com", debug=True)
response = api.execute('GetSuggestedCategories', {'Query': 'INTERNAZIONALE
1999/2000 AWAY FOOTBALL SHIRT MAGLIA JERSEY NIKE'})
for items in reply.dict()['SuggestedCategoryArray']['SuggestedCategory']:
print(items)
回复:
{'Category': {'CategoryID': '2887', 'CategoryName': 'Soccer-International
Clubs', 'CategoryParentID': ['64482', '24409'], 'CategoryParentName':
['Sports Mem, Cards & Fan Shop', 'Fan Apparel & Souvenirs']},
'PercentItemFound': '89'}
{'Category': {'CategoryID': '2891', 'CategoryName': 'Soccer-National
Teams', 'CategoryParentID': ['64482', '24409'], 'CategoryParentName':
['Sports Mem, Cards & Fan Shop', 'Fan Apparel & Souvenirs']},
'PercentItemFound': '6'}
{'Category': {'CategoryID': '123490', 'CategoryName': 'Men',
'CategoryParentID': ['888', '159049', '20862', '159178', '33485'],
'CategoryParentName': ['Sporting Goods', 'Team Sports', 'Soccer',
'Clothing, Shoes & Accessories', 'Clothing']}, 'PercentItemFound':
'3'}
我在某处 (The SiteID table) 读到,您必须将 header 设置为 'X-EBAY-API-SITEID'
才能 return 相关结果。英国的代码是 3,所以最有可能解决您的问题的方法是简单地添加:
siteid: 3
到您使用的 ebay.yml
文件。如果您想进一步操作 headers/see 还有什么可以添加到 ebay.yml
文件中,您可能需要参考 traing/__init__.py
模块中的 build_request_headers
函数。
希望能解决您的问题!
当我尝试你的代码时,我还注意到你使用 response
来获得结果,但在 for 循环中使用 reply
,我猜是打字错误。无论如何,我添加 siteid
得到的结果是:
{'Category': {'CategoryID': '112976', 'CategoryName': 'Italian Clubs',
'CategoryParentID': ['64482', '53597', '112972'], 'CategoryParentName':
['Sports Memorabilia', 'Football Shirts', 'Overseas Clubs']}, 'PercentItemFound': '70'}
{'Category': {'CategoryID': '106485', 'CategoryName': 'English Clubs',
'CategoryParentID': ['64482', '53597'], 'CategoryParentName':
['Sports Memorabilia', 'Football Shirts']}, 'PercentItemFound': '12'}
{'Category': {'CategoryID': '112992', 'CategoryName': 'Scottish Clubs', 'CategoryParentID': ['64482', '53597'],
'CategoryParentName': ['Sports Memorabilia', 'Football Shirts']}, 'PercentItemFound': '5'}
.
.
.
编辑:
添加另一种操作 headers 的方法。
正如@Fen 指出的那样,另一种更改 header 中的 siteid
的方法是将其添加到脚本中的连接 class 中,就像他所做的那样:
api = Connection(config_file="ebay.yaml", domain="api.ebay.com", siteid=3, debug=True)
我需要为我的项目获取建议的类别。但是,当我提出请求时,我得到了美国网站的回复。在英国如何获得?
我的代码:
from ebaysdk.trading import Connection
api = Connection(config_file="ebay.yaml",
domain="api.ebay.com", debug=True)
response = api.execute('GetSuggestedCategories', {'Query': 'INTERNAZIONALE
1999/2000 AWAY FOOTBALL SHIRT MAGLIA JERSEY NIKE'})
for items in reply.dict()['SuggestedCategoryArray']['SuggestedCategory']:
print(items)
回复:
{'Category': {'CategoryID': '2887', 'CategoryName': 'Soccer-International
Clubs', 'CategoryParentID': ['64482', '24409'], 'CategoryParentName':
['Sports Mem, Cards & Fan Shop', 'Fan Apparel & Souvenirs']},
'PercentItemFound': '89'}
{'Category': {'CategoryID': '2891', 'CategoryName': 'Soccer-National
Teams', 'CategoryParentID': ['64482', '24409'], 'CategoryParentName':
['Sports Mem, Cards & Fan Shop', 'Fan Apparel & Souvenirs']},
'PercentItemFound': '6'}
{'Category': {'CategoryID': '123490', 'CategoryName': 'Men',
'CategoryParentID': ['888', '159049', '20862', '159178', '33485'],
'CategoryParentName': ['Sporting Goods', 'Team Sports', 'Soccer',
'Clothing, Shoes & Accessories', 'Clothing']}, 'PercentItemFound':
'3'}
我在某处 (The SiteID table) 读到,您必须将 header 设置为 'X-EBAY-API-SITEID'
才能 return 相关结果。英国的代码是 3,所以最有可能解决您的问题的方法是简单地添加:
siteid: 3
到您使用的 ebay.yml
文件。如果您想进一步操作 headers/see 还有什么可以添加到 ebay.yml
文件中,您可能需要参考 traing/__init__.py
模块中的 build_request_headers
函数。
希望能解决您的问题!
当我尝试你的代码时,我还注意到你使用 response
来获得结果,但在 for 循环中使用 reply
,我猜是打字错误。无论如何,我添加 siteid
得到的结果是:
{'Category': {'CategoryID': '112976', 'CategoryName': 'Italian Clubs',
'CategoryParentID': ['64482', '53597', '112972'], 'CategoryParentName':
['Sports Memorabilia', 'Football Shirts', 'Overseas Clubs']}, 'PercentItemFound': '70'}
{'Category': {'CategoryID': '106485', 'CategoryName': 'English Clubs',
'CategoryParentID': ['64482', '53597'], 'CategoryParentName':
['Sports Memorabilia', 'Football Shirts']}, 'PercentItemFound': '12'}
{'Category': {'CategoryID': '112992', 'CategoryName': 'Scottish Clubs', 'CategoryParentID': ['64482', '53597'],
'CategoryParentName': ['Sports Memorabilia', 'Football Shirts']}, 'PercentItemFound': '5'}
.
.
.
编辑:
添加另一种操作 headers 的方法。
正如@Fen 指出的那样,另一种更改 header 中的 siteid
的方法是将其添加到脚本中的连接 class 中,就像他所做的那样:
api = Connection(config_file="ebay.yaml", domain="api.ebay.com", siteid=3, debug=True)