Amazon MWS доступ запрещен для европейского рынка

Я пытаюсь получить конкурентоспособные цены с Amazon MWS с помощью Boto. Когда я пытаюсь сделать это для рынка США, он работает отлично, но когда я пытаюсь сделать это с использованием европейской конечной точки, он возвращает

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")

Опять же, он отлично работает на рынке США. Я зарегистрирован как продавец в США и Европе. Я получаю идентификаторы торговых площадок с этой страницы https://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html

Любая помощь очень ценится

1 ответ

Решение

На этот вопрос уже дан ответ здесь: Amazon Europe MWS Python Boto Connection AccessDenied.

Но, чтобы повторить, найдите свой connection.py файл для бото и в строке 269 изменить:

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

в

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

По умолчанию Boto выполняет маршрутизацию к конечной точке MWS Amazon US. mws.amazonservices.com в то время как вы ищете конечную точку MWS Amazon EU, которая является mws-eu.amazonservices.com

Полный список конечных точек для других стран / географических регионов доступен здесь http://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html

Вы также можете увидеть Бото по умолчанию connection.py файл здесь: https://github.com/boto/boto/blob/develop/boto/mws/connection.py

Другие вопросы по тегам