查找产品时出现Amazon Simple Product API错误

Dar*_*nes 9 python amazon-web-services python-3.4

from amazon.api import AmazonAPI

AMAZON_ACCESS_KEY = "A******************A"
AMAZON_SECRET_KEY = "7***********************E"
AMAZON_ASSOC_TAG = "j*****-20"

amazon = AmazonAPI(AMAZON_ACCESS_KEY, AMAZON_SECRET_KEY, AMAZON_ASSOC_TAG, region='US')
print(amazon)
#product = amazon.lookup(ItemId='B002RL8FBQ')
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,它工作正常,我从打印功能获得此输出: <amazon.api.AmazonAPI object at 0x7fb6e59f7b38>

因此,我的访问密钥,密钥和关联标记一切正常.

但是,如果我取消注释最后一行,#product = amazon.lookup(ItemId='B00EOE0WKQ')那么我会收到此错误回溯:

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    product = amazon.lookup(ItemId='B00EOE0WKQ')
  File "/home/darren/Python_projects/amazon_wp/myvenv/lib/python3.4/site-packages/amazon/api.py", line 173, in lookup
    response = self.api.ItemLookup(ResponseGroup=ResponseGroup, **kwargs)
  File "/home/darren/Python_projects/amazon_wp/myvenv/lib/python3.4/site-packages/bottlenose/api.py", line 251, in __call__
    {'api_url': api_url, 'cache_url': cache_url})
  File "/home/darren/Python_projects/amazon_wp/myvenv/lib/python3.4/site-packages/bottlenose/api.py", line 212, in _call_api
    return urllib2.urlopen(api_request, timeout=self.Timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 161, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 469, in open
    response = meth(req, response)
  File "/usr/lib/python3.4/urllib/request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.4/urllib/request.py", line 507, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 441, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 587, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
Run Code Online (Sandbox Code Playgroud)

我已经按照官方github的指示来访问https://github.com/yoavaviram/python-amazon-simple-product-api,我正在使用的代码将会看到我使用的"用法"子标题github页面,因此我不确定出了什么问题.

有关添加的信息,我正在使用虚拟环境,并显示我在这里安装了正确的软件包是我的pip冻结:

(myvenv) darren@my_comp:~/Python_projects/amazon_wp$ pip3 freeze
bottlenose==0.6.3
lxml==3.6.0
python-amazon-simple-product-api==2.1.0
python-dateutil==2.5.3
six==1.10.0
Run Code Online (Sandbox Code Playgroud)

此外,我已经尝试了几个不同的asin数量的有效产品,我得到相同的错误消息.

我在ubuntu 14.04上使用python 3.4

Mic*_*ski 4

我认为,问题出在地区。请从此处选择有效值。解释可能是 AWS 可以验证您的凭证,但当涉及“真实”调用时,它会失败,因为“美国”不是有效区域......