我正在尝试使用python请求连接到我的amazonmws帐户。我定义了用于测试的参数,并从查询字符串计算了一个签名。在
我的代码:
cur_date = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
secret_key = 'my_secret_key'
sign_str = 'POST' + '\n' + 'mws.amazonservices.in' + '\n' + '/Orders/2013-09-01' + '\n' + 'AWSAccessKeyId=access_key&Action=ListOrders&LastUpdatedAfter=2015-10-31T18:30:00Z&MarketplaceId.Id.1=A21TJRUUN4KGV&SellerId=seller_id&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=%s&Version=2013-09-01' %cur_date
# I am using below method to generate a signature. I read about this in various threads and questions.
sign = base64.b64encode(hmac.new(str(secret_key), sign_str, hashlib.sha256).digest())
payload = {'AWSAccessKeyId':'access_key',
'Action':'ListOrders',
'MarketplaceId.Id.1':'A21TJRUUN4KGV',
'SellerId':'seller_id',
'Timestamp':cur_date,
'SignatureMethod':'HmacSHA256',
'Signature':sign,
'SignatureVersion':2,
'Version':'2013-09-01',
'LastUpdatedAfter':'2015-10-31T18:30:00Z'}
url = 'https://mws.amazonservices.in/Orders/2013-09-01'
headers = {'Content-Type':'text/xml'}
resp = requests.post(url, headers=headers, params = payload)
我的回答是:
^{pr2}$我知道问题在于如何生成签名。 我在MWS SCRATCHPAD上测试了我的证书,它们工作得很好。在
生成签名的正确方法是什么?在
目前没有回答
相关问题 更多 >
编程相关推荐