我正在尝试使用boto从亚马逊mws中提取竞争价格。 当我尝试在美国市场上做它时,它完全没问题,当我尝试使用欧洲端点返回时,它会返回
boto.mws.response.AccessDenied:AccessDenied:未经授权 访问被拒绝
以下是使用
的代码connect = connection.MWSConnection(aws_access_key_id=access_key,
` aws_secret_access_key=secret_key,
host="mws-eu.amazonservices.com")
connect.SellerId=sellerId
product = connect.get_competitive_pricing_for_asin(ASINList= ["B01HETFQA8"],
MarketplaceId="A1PA6795UKMFR9")
同样,它适用于美国市场。我在美国和欧洲注册为卖家。我从这个页面获取市场ID https://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html
任何帮助都非常有用
答案 0 :(得分:1)
此问题已在此处得到解答: Amazon Europe MWS Python Boto Connection AccessDenied
但重申一下,找到您的connection.py
文件的boto和第269行更改:
kw.setdefault('host', 'mws.amazonservices.com')
到
kw.setdefault('host', 'mws-eu.amazonservices.com')
默认情况下,Boto将路由到亚马逊US MWS端点 mws.amazonservices.com
,而您正在寻找 Amazon EU MWS端点,即mws-eu.amazonservices.com
< / p>
此处提供了其他国家/地理区域的完整端点列表http://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html
您还可以在此处查看Boto的默认connection.py
文件:
https://github.com/boto/boto/blob/develop/boto/mws/connection.py#L269