我有一个我注册为亚马逊开发人员的帐户。 (我们将此称为developer
帐户)
我有另一个帐户,我将其视为卖方帐户(也是Amazon开发人员帐户)。 (我们叫这个seller
帐户)
我希望我的developer
帐户代表seller
向亚马逊发出请求。
因此seller
调用了我的developer
应用,该应用与Amazon通讯。
根据条款和条件,我必须使用developer's
访问和密钥。
我给了seller
developer
ID,并且有一个Seller Id
,Marketplace Id
和一个MWS Auth Token
。
但是,我不确定MWSConnection
的工作方式,因为boto
似乎没有输入MWS Auth Token
的参数
我尝试过。
access_key_id = developer_access_key_id
secret_key = developer_secret_key
seller_id = seller_id
MWSConnection(access_key_id, secret_key, SellerId=seller_id)
这将导致AccessDenied
有没有一种方法可以使我(developer
)代表他人(seller
)发出请求?
答案 0 :(得分:0)
在更明确的解决方案出台之前,先刺探一下您可能遇到的问题:
boto3
不支持MWS。如果您使用它,它将无法正常工作。使用boto
MWS
在非北美(NA
)地区的地区需要您可能未提供的其他配置您要进入,并尝试通过以下方式在MWS的参数中设置SellerID:
MWSConnection(access_key_id, secret_key, SellerId=seller_id)
您可能应该这样做:
from boto import mws
from boto.mws.connection import MWSConnection
accessKey = developer_access_key_id # Python prefers camelCase
secretKey = developer_secret_key # Python prefers camelCase
merchantID = "XXXXXXXXXX" # You never specified this
mws = MWSConnection(accessKey, secretKey)
mws.Merchant = merchantID
mws.SellerId = merchantID
虽然可以通过关键字参数传递SellerId,但除非您知道它们的显式顺序,否则我相信您必须指定 all 命名参数。
python函数的参数本质上是一个字典,而python为您将调用的顺序与声明的顺序对齐提供了一些便利。这就是为什么您可以明确地在调用中以任何顺序使用argumentName = argumentValue, ...
并保持功能正常的原因。