Доступ к подключению к Amazon Europe MWS Python Boto запрещен

Недавно я начал изучать Python. Я планирую создать программу для нашей компании, которая будет управлять заказами со всех веб-сайтов Amazon Marketplace, нашего собственного магазина Bigcommerce и eBay.

Теперь я могу использовать библиотеку Boto для успешной отправки запросов в Amazon US, Amazon Canada и Amazon Mexico и получения всей информации о заказе. (Boto - единственная библиотека, которую я смог найти, которая идеально работает с Amazon MWS). Но когда я использовал тот же метод для отправки запросов на Amazon.co.uk, это не удалось. Вот пример кода, который я использовал для отправки запросов.

from boto.mws.connection import MWSConnection
MarketPlaceID = marketplaceid
MerchantID = merchantid
AccessKeyID = accesskeyid
SecretKey = secretkey
mws = MWSConnection(AccessKeyID,SecretKey)
mws.SellerId = MerchantID
mws.Merchant = MerchantID
mws.MarketplaceId = MarketPlaceID
orderstatus = ['PartiallyShipped','Unshipped', 'Shipped']
orders=mws.list_orders(LastUpdatedAfter = '2016-05-01T17:00:00Z', MarketplaceId = [MarketPlaceID],OrderStatus=orderstatus)

Этот код очень хорошо работает для наших магазинов на Amazon Canada, Amazon US и Amazon Mexico. Но когда я использую его для Amazon.co.uk., Я всегда получаю эти коды AccessDenied. (Я на 100% подтверждаю, что все значения marketplaceid, sellersid, accesskeyid и secretkeyid верны.)

AccessDenied
Traceback (most recent call last):
  File "C:\Python\Amazon Test.py", line 17, in <module>
orders=mws.list_orders(LastUpdatedAfter='2016-05-01T17:00:00Z', MarketplaceId = [MarketPlaceID],OrderStatus=orderstatus)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 158, in requires
return func(*args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 158, in requires
return func(*args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 177, in wrapper
return func(*args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 196, in wrapper
return func(*args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 177, in wrapper
return func(*args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 196, in wrapper
return func(*args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 177, in wrapper
return func(*args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 139, in wrapper
return func(*args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 81, in wrapper
return func(self, *args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 252, in wrapper
return func(self, request, response, *args, **kw)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 732, in list_orders
return self._post_request(request, kw, response)
  File "C:\Users\Yinghao\AppData\Local\Programs\Python\Python35-32\lib\site-packages\boto\mws\connection.py", line 323, in _post_request
response.reason, body)
boto.mws.response.ResponseFactory.element_factory.<locals>.DynamicElement:         AccessDenied: Unauthorized 
Access denied

Может ли кто-нибудь сказать мне, как делать запросы на подключение к Amazon.co.uk через библиотеку Python Boto или другие библиотеки Python? Любая помощь будет оценена по достоинству.

Спасибо


person Yinghao    schedule 15.05.2016    source источник


Ответы (1)


Я сам разобрался. Ключ - это код этой строки, https://github.com/boto/boto/blob/develop/boto/mws/connection.py#L269

После изменения mws.amazonservices.com на mws-eu.amazonservices.com я могу использовать приведенный выше код для подключения к Amazon Europe. Итак, эта проблема касается конечных точек Amazon Amazon MWS. Я могу использовать Boto для подключения к Amazon в Японии, Китае, Индии и Европе, следуя инструкциям на этой странице http://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html

person Yinghao    schedule 07.06.2016
comment
Спасибо за ответ. Столкнулся с точно такой же проблемой! - person Alex B; 07.05.2018