我有一个我注册为亚马逊开发者的账户。 (我们称其为 developer
帐户)
我有另一个账户,我将其视为卖家账户(也是亚马逊开发者账户)。 (我们称此为seller
帐户)
我希望我的开发者
帐户代表卖家
向亚马逊发出请求。
所以 seller
调用我的 developer
应用程序,它与亚马逊对话。
根据条款和条件,我必须使用开发人员的
访问权限和 key 。
我已经为我的seller
提供了developer
ID,并且我有一个Seller Id
、Marketplace Id
,以及MWS 授权 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
失败
有没有办法让我(开发人员
)可以代表其他人(卖家
)提出请求?
最佳答案
有些事情可能不是你的问题,但可能是
在更明确的解决方案之前,对您可能遇到的问题进行一些尝试:
boto3
不支持 MWS。如果你正在使用它,它将不起作用。使用boto
MWS
在非北美地区 (NA
) 需要您可能未提供的额外配置
你的问题可能是...
您正在尝试在 MWS 的 args 中设置 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,但我认为您必须指定所有命名参数,除非您知道它们的明确顺序。
python 函数的参数本质上是一个字典,python 只是为您提供了一些便利,可以将调用顺序与声明顺序对齐。这就是为什么您可以明确地在调用中以任何顺序使用 argumentName = argumentValue, ...
并且您的函数仍然有效。
关于Boto 代表他人提出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56486045/