我正在尝试使用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文件中。
要运行代码段,我转到developers.ebay.com,生成用户授权令牌,将其粘贴到yaml文件中并运行脚本。
我的脚本的想法是在后台运行。
有ebaysdk经验的人能告诉我如何正确连接到交易API吗?
答案 0 :(得分:1)
我在您的代码段或已加载的模块中看不到对YAML-Configuration的任何引用...根据https://github.com/timotheus/ebaysdk-python/wiki/Trading-API-Class的文档,您需要指定AppId或其中的配置文件ID已保存:
api = Trading(appid="YOUR_APPID", devid="YOUR_DEVID", certid="YOUR_CERTID", token="YOUR_AUTH_TOKEN")
或
api = Trading(config_file='myfile.yaml')
答案 1 :(得分:1)
我发现这段代码存在问题:我没有在yaml文件中配置沙箱的条目。在我这样做之后,它继续前进。我有一个新错误(将在几分钟内发布一个问题)。
这是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