AttributeError: 'Response'对象没有'_dom'属性

1 投票
2 回答
1279 浏览
提问于 2025-04-18 16:02

我正在测试一个叫做ebaysdk的Python库,这个库可以让你连接到eBay。现在我在尝试一些例子,来自这个链接:https://github.com/timotheus/ebaysdk-python/

到目前为止,我在这个例子上卡住了:

from ebaysdk.shopping import Connection as Shopping
shopping = Shopping(domain="svcs.sandbox.ebay.com", config_file="ebay.yaml")
response = shopping.execute('FindPopularItems',
           {'QueryKeywords': 'Python'})
print response.disct()

当我运行它的时候,出现了这个错误:

Traceback (most recent call last):
  File "ebay-test.py", line 13, in <module>
    {'QueryKeywords': 'Python'})
  File "/usr/local/lib/python2.7/dist-packages/ebaysdk-2.1.0-py2.7.egg/ebaysdk/connection.py", line 123, in execute
    self.error_check()
  File "/usr/local/lib/python2.7/dist-packages/ebaysdk-2.1.0-py2.7.egg/ebaysdk/connection.py", line 193, in error_check
    estr = self.error()
  File "/usr/local/lib/python2.7/dist-packages/ebaysdk-2.1.0-py2.7.egg/ebaysdk/connection.py", line 305, in error
    error_array.extend(self._get_resp_body_errors())
  File "/usr/local/lib/python2.7/dist-packages/ebaysdk-2.1.0-py2.7.egg/ebaysdk/shopping/__init__.py", line 188, in _get_resp_body_errors
    dom = self.response.dom()
  File "/usr/local/lib/python2.7/dist-packages/ebaysdk-2.1.0-py2.7.egg/ebaysdk/response.py", line 229, in dom
    return self._dom
  File "/usr/local/lib/python2.7/dist-packages/ebaysdk-2.1.0-py2.7.egg/ebaysdk/response.py", line 216, in __getattr__
    return getattr(self._obj, name)
AttributeError: 'Response' object has no attribute '_dom'

我是不是漏掉了什么,还是说这个库里可能有bug?

2 个回答

0

你用的域名不对,应该是 open.api.sandbox.ebay.com。可以去看看这个在 ebaysdk的github页面上的内容。

0

你有配置文件吗?我刚开始使用这个SDK的时候遇到了很多问题。为了让yaml配置文件正常工作,我必须指定它所在的目录。所以在你的例子中,应该是:

shopping = Shopping(domain="svcs.sandbox.ebay.com", config_file=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'ebay.yaml'))

你还可以在你的Shopping()声明中指定debug=true,比如写成Shopping(debug=True)

确保如果你还没有的话,要在配置文件中指定你的APP_ID和其他必要的值。

撰写回答