@WEWMEGADUV

Как создать правилний signature для mws amazon?

var protocol = "https";
var method = "POST";
var host = "mws.amazonservices.com";
var uri = "/Products/2011-10-01";
var marketPlaceId = "ATVPDKIKX0DER";




function generateRequest(asin, action){
    var today = new Date();
    time = today.toISOString();
    var parameters = {
        // "ASINList.ASIN.1":asin,
        "Query":asin,
        "AWSAccessKeyId":AWSAccessKeyId,
        "Action": action,
        "MarketplaceId":marketPlaceId,
        "SellerId": SellerId,
        "SignatureMethod":"HmacSHA256",
        "SignatureVersion":"2",
        "Timestamp":time,
        "Version":"2011-10-01"
    };

    //Convert to Query
    parameters = $.param( parameters );

    //Signature
    var messageToEncrypt =  method+"\n"+host+"\n"+uri+"\n"+parameters;

    var sig = CryptoJS.HmacSHA256(messageToEncrypt, SecretKey);

    sig = sig.toString(CryptoJS.enc.Base64);

    sig = encodeURIComponent(sig);

    parameters = parameters+"&Signature="+sig;
    var mwsRequest = protocol+"://"+host+uri+"?"+parameters;

    return mwsRequest;
}


// var asaUrl = generateRequest('B01I94N9TC','GetMatchingProduct');
var asaUrl = generateRequest('B01I94N9TC','ListMatchingProducts');


$.ajax({
    url:asaUrl,
    method: "POST",
    success: function(data){
        console.log(data)
    }
});

выдает ошибка
Check your AWS Secret Access Key and signing method. Consult the service documentation for details.


но если отправить на GetMatchingProduct то нормално работает
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы