我们计算出的请求签名与签名不匹配

问题描述 投票:0回答:1

也许有人知道签名有什么问题吗?尝试了不同的方法。结果始终相同。

响应:发件人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();
google-apps-script signature amazon-mws
1个回答
0
投票

您能够使它正常工作吗?我的Javascript mws解决方案面临类似的问题

© www.soinside.com 2019 - 2024. All rights reserved.