Подпись DoesNotMatch при отправке запроса на amazon mws - PullRequest
0 голосов
/ 22 мая 2019

Я хочу отправить запрос GetReport, чтобы получить отчеты об аккаунте продавца.

Но при отправке он дает мне подпись не совпадает, и я не могу разобраться в чем проблема и застрял в этомВ течение нескольких часов я пытался создать подпись и проверить формат запроса, но не получил, запрос на блокнот работает нормально. Вот мой код ниже

  check=(evt)=>{

    evt.preventDefault();

    let d=new Date();
    let reqDate=d.toISOString();

    let url='POST\nmws.amazonservices.com/\n'+'AWSAccessKeyId'=+accesskey+'&Action=GetReport'+'&Merchant='+sellerid
        +'&MWSAuthToken='+token+'&SignatureVersion=2'+'&Timestamp='+ reqDate +'&Version=2009-01-01'+'&SignatureMethod=HmacSHA256'+'&ReportId=14941942615018036';

    let signature=base64.encode(SHA256(url,secretkey));


    agent
        .post(`https://mws.amazonservices.com/`)
        .query({
            AWSAccessKeyId:accesskey,
            Action:'GetReport',
            Merchant:sellerid,
            MWSAuthToken:token,
            SignatureVersion:2,
            Timestamp:reqDate,
            Version:'2009-01-01',
            Signature:signature,
            SignatureMethod:'HmacSHA256',
            ReportId:'14941942615018036'
        })
        .then(res=>(this.setState({category:res.text},()=>{
            console.log('category==>',this.state.category)
        })))


};

REQUEST :

Этот запрос ниже выполняется после вышеперечисленных шагов:

          Request URL:https://mws.amazonservices.com/?AWSAccessKeyId=accesskey&Action=GetReport&Merchant=sellerid&MWSAuthToken=token&SignatureVersion=2&Timestamp=2019-05-22T09:19:15.213Z&Version=2009-01-01&Signature=ZWZiZjAxNGVlODZlYzc3NDlhYjljMmQ1NGI1NDNiZmY5N2VmMDIzY2YwMTdjNjgzYzkxM2MxMDllNzVjNzI1Mw==&SignatureMethod=HmacSHA256&ReportId=14941942615018036

, когда я отправляю запрос выше, следующий запрос генерируется в заголовках, которые я упоминал в прошлом,Возникли проблемы с созданием подписи или ее кодировкой в ​​base64 или в других случаях. Пожалуйста, присылайте предложения

...