Как вы читаете / запрашиваете тело ответа в API V2 диалогового потока-выполнения? - PullRequest
1 голос
/ 26 февраля 2020

В v1 запрос и ответ были специально определены и прочитаны через -

console.log(request.body);
var input = request.body.queryResult;

В v2 запрос и ответ, оба, заключены в «приложение». Мои заявления о приложении приведены ниже -

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; 

Нужно ли специально упомянуть запрос и ответ где-нибудь похожий на WebhookClient ({запрос, ответ}) в V1?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 28 февраля 2020

После миллиона проб и ошибок я наконец нашел его, и это ужасно просто

console.log(conv.body);
var input = conv.body.queryResult.queryText;
1 голос
/ 28 февраля 2020

Я знаю, что это, похоже, уже решено. Но я заметил, что вы сделали console.log () на conv.body. Предполагая, что эта переменная conv является объектом ответа JSON, который вы получили от Dialogflow, я бы порекомендовал сделать console.log (JSON .stringify (conv)), который, что неудивительно, печатает полный объект JSON в строку в приставка. Это сэкономило мне много времени при попытке выяснить множество JSON форматов.

...