python - 亚马逊 mws 访问欧洲市场被拒绝

标签 python boto amazon-mws

我正在尝试使用 boto 从亚马逊 mws 获得有竞争力的价格。 当我尝试为美国市场做这件事时,它工作得很好,但当我尝试使用欧洲端点做它时,它返回了

boto.mws.response.AccessDenied: AccessDenied: Unauthorized Access denied

这是我使用的代码

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

非常感谢任何帮助

最佳答案

这里已经回答了这个问题: Amazon Europe MWS Python Boto Connection AccessDenied .

但重申一下,找到用于 boto 的 connection.py 文件并在 line 269 更改:

kw.setdefault('host', 'mws.amazonservices.com')

kw.setdefault('host', 'mws-eu.amazonservices.com')

默认情况下,Boto 路由到亚马逊美国 MWS 端点mws.amazonservices.com,而您正在寻找亚马逊欧洲 MWS 端点mws-eu.amazonservices.com

其他国家/地区的完整端点列表可在此处获得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

关于python - 亚马逊 mws 访问欧洲市场被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48445014/

相关文章:

java - 计算的 Amazon MWS 签名不匹配

python - 我可以在 Python 2.7 上运行一些 mod_wsgi 应用程序,而将其余应用程序保留在 Python 2.5 上吗?

python - Django,测试应用程序的行为

amazon-ec2 - 如何以编程方式创建带有附加 EBS 存储的 AWS EC2 实例?

python - 亚马逊 API MWS 签名不匹配

php - 如何使用亚马逊 mws ListMatchingProducts api 获取所有产品?

python - 当不存在行时,sqlalchemy func.sum() 返回 None

python - cython pyximport 在哪里编译?

amazon-s3 - 使用 boto 或 simples3 API 流式上传到 AmazonS3

python - 为什么我在使用 boto 上传文件时得到 400?