在v1中,明确定义了请求和响应,并通过-读取
console.log(request.body);
var input = request.body.queryResult;
在v2中,请求和响应都包装在'app'中。我对应用程序的声明如下-
const {dialogflow} = require('actions-on-google');
const app = dialogflow({clientId: 'projectId'});
我尝试使用以下内容,但了解这不是正确的方法-
console.log(conv.request.body); //Getting undefined in console
//OR
console.log(app.request.body); //Getting undefined in console
var input = conv.request.body.queryResult;
我需要在V1中类似于WebhookClient({request,response})的地方特别提及请求和响应吗?
提前感谢
经过数百万次的试验和错误,我终于找到了,它非常简单
console.log(conv.body);
var input = conv.body.queryResult.queryText;
我知道这似乎已经解决。但是我注意到您在conv.body上做了一个console.log()。假设此conv变量是您从Dialogflow接收到的JSON响应对象,我建议您进行console.log(JSON.stringify(conv)),这并不奇怪,它将完整的JSON对象打印到控制台中的字符串。这为我节省了很多时间,试图找出许多JSON格式。