[英]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',
},
},
};
知道为什么这行不通的原因是,它显示为空,就像没有什么蜜蜂被束缚在那里。
编辑:奇怪的是,当我尝试打印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.