ebaysdk:无法连接

时间:2017-02-21 20:18:12

标签: python api ebay

我正在尝试使用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吗?

2 个答案:

答案 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