Alexa Skill работает, но говорит: была проблема с ответом на запрошенный навык - PullRequest
0 голосов
/ 22 января 2019

для моего навыка Alexa, после того, как сработало намерение "ja", умение должно сделать запрос http PATCH в мою базу данных, где он меняет число, добавляя к нему 1. Когда я тестирую навык в консоли разработчика alexa и запускаю намерение «ja», alexa отвечает: «Возникла проблема с ответом запрошенного навыка», однако все запросы http прошли и сработали (число было изменено). Когда я удаляю запрос http из кода, ошибка исчезает.

Это HTTP-запрос PATCH

async function patch(id,data) {
  return await new Promise(((resolve, reject) => {

  var options = {
    host: 'myhostname',
    path: 'my/path',
    method: 'PATCH',
    headers: {
        "Authorization": "Bearer adsasdasdasdas",
        "Content-Type": "application/x-www-form-urlencoded"
    }
};


const request = https.request(options, (response) => {
  response.setEncoding('utf8');
  let returnData = '';

  response.on('data', (chunk) => {
    returnData += chunk;
  });

  response.on('end', () => {
    resolve(JSON.parse(returnData));
  });

  response.on('error', (error) => {
    reject(error);
  });
});
request.write(data);
request.end();

  }));
  }


  function buildPatchData(number) {

var writeData = querystring.stringify({
  'callsthismonth': number

  });

 return writeData;
}

И это намерение "ja":

    'ja': async function () {

  const token = this.event.context.System.user.accessToken;
var Id = String(token);


let number = await buildPatchData(10);
let patchRequest = await patch(Id,number);




await this.emit(':tell', 'Ok, thanks for using our skill!');


    },
...