您如何 read/query API V2 of dialogflow-fulfillment 中的响应正文?
How do you read/query the response body in API V2 of dialogflow-fulfillment?
在 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 格式时节省了很多时间。
在 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 格式时节省了很多时间。