也许有人知道签名有什么问题吗?尝试了不同的方法。结果始终相同。
响应:发件人SignatureDoesNotMatch
我们计算出的请求签名与您提供的签名不匹配。检查您的AWS Secret Access密钥和签名方法。有关详细信息,请查阅服务文档。 0a0916a9-e57e-4a4d-be88-d64c67188baa
我使用的最后一个代码:
function getSignature(){
var date = new Date();
var amz_date = date.toISOString();
var method = 'POST';
var host = 'mws.amazonservices.co.uk';
var endpoint = 'https://mws.amazonservices.co.uk/Orders/2013-09-01';
var canonical_uri = '/Orders/2013-09-01';
var canonical_querystring = 'AWSAccessKeyId=XXXXXXXXXX';
canonical_querystring += '&Action=ListOrders';
canonical_querystring += '&CreatedAfter='+encodeURIComponent('2019-12-28T00%3A00%3A00Z');
canonical_querystring += '&CreatedBefore='+encodeURIComponent('2019-12-29T00%3A00%3A00Z');
canonical_querystring += '&MWSAuthToken=XXXXXXXXX';
canonical_querystring += '&MarketplaceId.Id.1=A1F83G8C2ARO7P';
canonical_querystring += '&SellerId=XXXXXXXXX';
canonical_querystring += '&SignatureMethod=HmacSHA256';
canonical_querystring += '&SignatureVersion=2';
canonical_querystring += '&Timestamp='+encodeURIComponent(amz_date);
canonical_querystring += '&Version=2013-09-01';
var finished_canonical= method + "\n"+host+"\n" +canonical_uri+ "\n" + canonical_querystring;
var byteSignature = Utilities.computeHmacSha256Signature(finished_canonical,'XXXXXXXXXXXX');
var x = Utilities.base64EncodeWebSafe(byteSignature);
canonical_querystring += '&Signature='+encodeURIComponent(x);
var request_url = endpoint + '?' + canonical_querystring;
var options = {
'method' : 'POST',
'muteHttpExceptions':true,
'host': host,
};
var y = UrlFetchApp.fetch(request_url, options);
return y.getContentText();
您能够使它正常工作吗?我的Javascript mws解决方案面临类似的问题