не может получить параметры из queryParam при использовании ввода событий в Dialogflow v2 - PullRequest
0 голосов
/ 08 июня 2018

Я хотел бы напечатать в ответе параметры, заданные при запросе к Dialogflow, но по какой-то причине это не работает для меня.

Это запрос:

request = {
        session: sessionPath,
        queryInput: {
          event: {
            name: 'questionevt',
            parameters: {
              question: 'this is a question'
            },
            languageCode: 'en-US',
          },
        },
      };

и мой ответ Dialogflow выглядит следующим образом: enter image description here

Любая идея, почему это не работает, показывает пустой, как ничто не связанное там.

РЕДАКТИРОВАТЬ: Странно, когда я пытаюсь распечатать console.log(result.parameters.fields.question); я вижу { stringValue: '', kind: 'stringValue' } как сообщение!

1 Ответ

0 голосов
/ 08 октября 2018

Вы не можете сделать это с текстовым ответом по умолчанию, на самом деле, вам нужно включить вызов webhook для этого намерения в разделе выполнения.Я покажу вам, как выглядит мое намерение.

Intent

Моя сущность:

Entity

Код в разделе выполнения (необходимо включить встроенный редактор):

'use strict';
const http = require('http');

const kind = 'ticket';
exports.dialogflowFirebaseFulfillment = (req, res) => {
  console.log('Dialogflow Request body: ' + JSON.stringify(req.body));
  
  let question = req.body.queryResult.parameters['question'];
  
  switch(question){
      case "computer":
          res.send(JSON.stringify({ 'fulfillmentText': "Restart the computer."}));
          break;
      case "love":
          res.send(JSON.stringify({ 'fulfillmentText': "Forget him/her."}));
          break;
  }
}

тогда, если вы попробуете это, оно должно работать так:

Result

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