繁体   English   中英

在Dialogflow v2中使用事件输入时,无法从queryParam获取参数

[英]cannot get parameters from queryParam when using event input in Dialogflow v2

我想在响应中打印出对Dialogflow进行请求时给定的参数,但是由于某些原因,这对我不起作用。

这是请求:

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

我的Dialogflow响应如下所示: 在此处输入图片说明

知道为什么这行不通的原因是,它显示为空,就像没有什么蜜蜂被束缚在那里。

编辑:奇怪的是,当我尝试打印console.log(result.parameters.fields.question); 我将{ stringValue: '', kind: 'stringValue' }视为味精!

您无法使用默认的文本响应来执行此操作,实际上,您需要在实现部分中针对该意图启用webhook调用。 我将向您展示我的意图。

意图

我的实体:

实体

实现部分中的代码(您需要启用内联编辑器):

 '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; } } 

然后,如果您尝试一下,它应该像这样工作:

结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM