Ошибка: неверный или неизвестный тип запроса (не запрос Dialogflow v1 или v2 webhook) - PullRequest
0 голосов
/ 07 января 2020

когда я запускаю firebase serve --only functions

это мой код:

exports.helloWorld = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });
  console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
  console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

function findWidget(agent) {
  agent.add(`You are now being handled by the productivity intent`);
  const url = "https://reqres.in/api/users?page=2";
  return request.get(url)
      .then(jsonBody => {
          var body = JSON.parse(jsonBody);
          agent.add(body.data[0].first_name)
          return Promise.resolve(agent);
      })
      .catch(err => {
          console.error('Problem making network call', err);
          agent.add('Unable to get result');
          return Promise.resolve(agent);
      });
  };

  let intentMap = new Map();
  intentMap.set('Default Welcome Intent', findWidget);
  agent.handleRequest(intentMap);
});

Пожалуйста, помогите мне решить эту проблему, я не знаю, что с этим не так.

Обновление: изображение ошибки: https://i.stack.imgur.com/1YDP2.png скриншот браузера: https://i.stack.imgur.com/uPV9w.png

1 Ответ

0 голосов
/ 08 января 2020

Хотя мы говорим, что код Dialogflow выполнение предназначен для запуска в качестве веб-крючка, это не обязательно означает, что вы сможете получить к нему доступ в веб-браузере.

В этом случае для выполнения веб-подключения Dialogflow необходимо

Библиотека выполнения диалогового потока предназначена для приема отформатированного запроса и помощи в создании отформатированного ответа.

Однако в ваш случай, вы получили доступ к нему с помощью веб-браузера. Который, вероятно, использовал команду HTTP GET и не отправил тело JSON. Сообщение об ошибке говорит о том, что запрос не выглядел так, как будто он поступил из Dialogflow, поэтому он не может его обработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...