您如何在对话框流实现的API V2中读取/查询响应主体?

问题描述 投票:1回答:2

在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})的地方特别提及请求和响应吗?

提前感谢

dialogflow actions-on-google
2个回答
2
投票

经过数百万次的试验和错误,我终于找到了,它非常简单

console.log(conv.body);
var input = conv.body.queryResult.queryText;

1
投票

我知道这似乎已经解决。但是我注意到您在conv.body上做了一个console.log()。假设此conv变量是您从Dialogflow接收到的JSON响应对象,我建议您进行console.log(JSON.stringify(conv)),这并不奇怪,它将完整的JSON对象打印到控制台中的字符串。这为我节省了很多时间,试图找出许多JSON格式。

© www.soinside.com 2019 - 2024. All rights reserved.