#javascript #node.js #dialogflow-es
# #javascript #node.js #диалоговые потоки
Вопрос:
Я столкнулся со следующей ошибкой при отправке POST-запроса в JS-код узла. В stackoverflow был аналогичный, но оставшийся без ответа вопрос 2-летней давности. Поэтому я решил спросить.
Мой код:
const dialogflow=require('dialogflow');
const config=require('../config/keys');
const sessionClient = new dialogflow.SessionsClient();
const sessionPath = sessionClient.sessionPath(config.googleProjectID,config.dialogFlowSessionID)
//console.log(process.env.GOOGLE_APPLICATION_CREDENTIALS);
module.exports = app => {
app.get('/', (req, res) => {
res.send({'hello':'jhonny'})
})
app.post('/api/df_text_query', async (req, res) => {
const request = {
session: sessionPath,
queryInput: {
text: {
text: req.body.text,
languageCode: config.dialogFlowSessionLanguageCode,
},
},
};
let responses = await sessionClient
.detectIntent(request)
res.send(responses[0].queryResult)
});
app.post('/api/df_event_query', (req, res) => {
res.send({'do':'event query'})
})
}
Ошибка, которую я получил:
(node:11868) UnhandledPromiseRejectionWarning: Error: 3 INVALID_ARGUMENT: Input text not set.
Запрос POST :
{
"text":"HI"
}
Ответ №1:
Найден ответ
Я пропустил заголовок. Это было решено после добавления заголовка сообщения.