Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Pythonywhere使用python amazon简单产品api时出现错误400_Python_Django_Amazon Web Services_Pythonanywhere - Fatal编程技术网

通过Pythonywhere使用python amazon简单产品api时出现错误400

通过Pythonywhere使用python amazon简单产品api时出现错误400,python,django,amazon-web-services,pythonanywhere,Python,Django,Amazon Web Services,Pythonanywhere,我在这方面已经做了一天的大部分时间了,但是在相当长的一段时间里,我一直在犯同样的错误。基本上,该应用程序的目标是从Amazon的参考url解析一本书的ISBN,并将其用作从Amazon的产品广告API中提取图像的参考键。该网页是用Python 3.4和Django 1.8编写的。我花了相当长的时间在这里进行研究,并决定使用python amazon simple product api,因为它将使amazon的解析结果变得更容易 答案如下: 让它看起来很简单,但我还没有完全能够成功地找到一个产品

我在这方面已经做了一天的大部分时间了,但是在相当长的一段时间里,我一直在犯同样的错误。基本上,该应用程序的目标是从Amazon的参考url解析一本书的ISBN,并将其用作从Amazon的产品广告API中提取图像的参考键。该网页是用Python 3.4和Django 1.8编写的。我花了相当长的时间在这里进行研究,并决定使用python amazon simple product api,因为它将使amazon的解析结果变得更容易

答案如下:

让它看起来很简单,但我还没有完全能够成功地找到一个产品。这是我的方法通常执行的控制台打印输出,已填写正确的ISBN:

>>> from amazon.api import AmazonAPI
>>> access_key='amazon-access-key'
>>> secret ='amazon-secret-key'
>>> assoc ='amazon-associate-account-name'
>>> amazon = AmazonAPI(access_key, secret, assoc)
>>> product = amazon.lookup(ItemId='1632360705')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/amazon/api.py", line 161, in lo
okup
    response = self.api.ItemLookup(ResponseGroup=ResponseGroup, **kwargs)
  File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/bottlenose/api.py", line 242, i
n __call__
    {'api_url': api_url, 'cache_url': cache_url})
  File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/bottlenose/api.py", line 203, i
n _call_api
    return urllib2.urlopen(api_request, timeout=self.Timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 153, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 461, in open
    response = meth(req, response)
  File "/usr/lib/python3.4/urllib/request.py", line 571, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.4/urllib/request.py", line 499, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 579, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
>>从amazon.api导入AmazonAPI
>>>access_key='amazon-access-key'
>>>secret='amazon-secret-key'
>>>assoc='amazon-associate-account-name'
>>>amazon=AmazonAPI(访问密钥、机密、关联)
>>>product=amazon.lookup(ItemId='163360705')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/amazon/api.py”,第161行,小写
奥库普
response=self.api.ItemLookup(ResponseGroup=ResponseGroup,**kwargs)
文件“/home/tsuko/.virtualenvs/django17/lib/python3.4/site packages/bottlenose/api.py”,第242行,i
打电话__
{'api\u url':api\u url'cache\u url':cache\u url})
文件“/home/tsuko/.virtualenvs/django17/lib/python3.4/site packages/bottlenose/api.py”,第203行,i
n\u调用\u api
返回urllib2.urlopen(api_请求,超时=self.timeout)
urlopen中的文件“/usr/lib/python3.4/urllib/request.py”,第153行
返回opener.open(url、数据、超时)
文件“/usr/lib/python3.4/urllib/request.py”,第461行,打开
响应=方法(请求,响应)
http_响应中的文件“/usr/lib/python3.4/urllib/request.py”,第571行
“http”、请求、响应、代码、消息、hdrs)
文件“/usr/lib/python3.4/urllib/request.py”,第499行出错
返回自我。调用链(*args)
文件“/usr/lib/python3.4/urllib/request.py”,第433行,在调用链中
结果=func(*args)
文件“/usr/lib/python3.4/urllib/request.py”,第579行,默认为http\u error\u
raise HTTPError(请求完整的url、代码、消息、hdrs、fp)
urllib.error.HTTPError:HTTP错误400:请求错误
现在我想我很好奇这是不是PythonyWhere的一些怪癖,或者我是否错过了Django中的配置设置?据我所知,通过AWS和Amazon Associates页面,我的密钥是正确的。我现在不太担心解析,只是获取对象。我甚至尝试绕过API,只使用瓶鼻(API扩展了瓶鼻),但我得到了相同的错误结果


我对Django和Amazon的API真的很陌生,任何帮助都将不胜感激

您仍然没有授权您的帐户访问API。要执行此操作,您可以转到

Amazon正在以“错误请求”错误回答您。也就是说,您可能发送了错误的信息。仔细检查你的钥匙等…你是绝对正确的,谢谢你帮助发现这个简单的步骤!我为延迟批准表示歉意。另一个可能导致相同错误的问题是,当您有多个AWS帐户,并且使用API密钥注册的帐户与您注册的附属计划的帐户不同。我知道答案已经过了一段时间,但另一点可能是API查找.com域名。因此,如果您在.co.uk或.de中查找,则必须首先指定区域。