我正在尝试使用python ebaysdk,我无法理解为什么我继续收到以下错误:
{'Timestamp': '2017-02-21T19:55:31.915Z', 'Errors': {'LongMessage': 'Validation of the authentication token in API request failed.', 'ShortMessage': 'Auth token is invalid.', 'SeverityCode': 'Error', 'ErrorCode': '931', 'ErrorClassification': 'RequestError'}, 'Build': 'E989_CORE_API_18131074_R1', 'Version': '989', 'Ack': 'Failure'}
代码段是从GitHub repo(https://github.com/timotheus/ebaysdk-python)中复制的。
from ebaysdk.trading import Connection as Trading
from ebaysdk.exception import ConnectionError
try:
api = Trading(domain='api.sandbox.ebay.com')
response = api.execute('GetOrders', {})
print(response.dict())
print(response.reply)
except ConnectionError as e:
print(e)
print(e.response.dict())
我还将所有配置都放在eBay.yaml文件中。
要运行代码段,我转到开发人员.ebay.com,生成用户授权令牌,将其粘贴到yaml文件中并运行脚本。
我的脚本的想法是在后台运行。
曾经有Ebaysdk经验的人可以向我展示如何正确连接到交易API?
我在代码段或加载模块中没有看到对yaml-configuration的任何引用...在https://github.com/timotheus/ebaysdk上进行了文档之后-python/wiki/trading-api-class,您要么需要指定保存ID的appid或配置文件:
api = Trading(appid="YOUR_APPID", devid="YOUR_DEVID", certid="YOUR_CERTID", token="YOUR_AUTH_TOKEN")
或
api = Trading(config_file='myfile.yaml')
我发现了这件代码的问题:我没有在yaml文件中配置了Sandbox的条目。在我这样做之后,它继续前进。我有一个新的错误(将在几分钟内发布一个问题)。
这是eBay.yaml:
# Trading API Sandbox - https://www.x.com/developers/ebay/products/trading-api
api.sandbox.ebay.com:
compatability: 967
appid: xxxxx
certid: yyyyy
devid: zzzzzzz
username: uuuuu
password: ppppp
# Trading API - https://www.x.com/developers/ebay/products/trading-api
api.ebay.com:
compatability: 967
appid: xxxxx
certid: yyyyy
devid: zzzzzzz