1

我需要为我的项目获取建议的类别。但是,当我提出请求时,我会收到美国网站的回复。英国如何获得它?

我的代码:

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'}
4

1 回答 1

0

我在某处(The SiteID 表)读到,您必须使用它设置标题'X-EBAY-API-SITEID'才能返回相关结果。英国的代码是 3,所以最有可能解决您的问题的方法是添加:

siteid: 3 

ebay.yml您使用的文件。如果您想进一步操作标头/查看可以添加到ebay.yml文件中的其他内容,您可能需要参考模块中的build_request_headers函数。traing/__init__.py

希望能解决您的问题!

当我尝试您的代码时,我还注意到您使用response来获取结果,但是reply在 for 循环中,我猜是错字。无论如何,我添加的结果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'}
.
.
.

编辑: 添加另一种操作标题的方式。正如@Fen 指出的那样,另一种更改siteidin 标头的方法是将其添加到脚本中的连接类中,就像他所做的那样:

api = Connection(config_file="ebay.yaml", domain="api.ebay.com", siteid=3, debug=True)

于 2019-05-05T18:15:30.067 回答