Для начала я провел многочасовые исследования того, как заставить DialogFlow получать запросы, выполняемые веб-хуком, размещенным чем-то вроде Heroku.У меня полностью установлены Heroku и nodeJS на моем компьютере, я прошел весь учебник по Heroku, как начать работу, и все работало нормально.Я не думаю, что моя проблема не в том, что установлены правильные вещи.
Я загрузил то, что у меня есть: https://github.com/joshua-yan/dialoguetest
Вот как я начал:
C:\Users\******>cd C:\Users\*****\guided
C:\Users\******\guided>npm init
C:\Users\******\guided>npm install express body-parser
После этого я только что создал файл index.js и отредактировал пример кода (предоставлен онлайн-руководством по imdb api).Я приложил все усилия с предоставленным кодом, но попытка node index.js в командной строке настаивает на том, что в моем коде есть синтаксические ошибки, которых я не считаю существующими.
Вот здесь index.js
:
server.post('/get-movie-details', (req, res) => {
var p1x = req.body.queryResult.parameters['p1x'];
var p1y = req.body.queryResult.parameters['p1y'];
var p1z = req.body.queryResult.parameters['p1z'];
var p2x = req.body.queryResult.parameters['p2x'];
var p2y = req.body.queryResult.parameters['p2y'];
var p2z = req.body.queryResult.parameters['p2z'];
var p1 = [p1x, p1y, p1z];
var p2 = [p2x, p2y, p2z];
var answ = Math.sqrt(Math.pow(p2[0] - p1[0], 2) + Math.pow(p2[1] - p1[1], 2) + Math.pow(p2[2] - p1[2], 2));
return res.json({
speech: answ.toString(),
displayText: answ.toString()
});
(error) => {
return res.json({
speech: 'Something went wrong!',
displayText: 'Something went wrong!',
source: 'get-movie-details'
});
});
};
server.listen((process.env.PORT || 8000), () => {
console.log("Server is up and running...");
});
Если вам нужна ошибка:
C:\Users\******\guided\index.js:23
});
^
SyntaxError: Unexpected token )
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:588:28)
at Object.Module._extensions..js (module.js:635:10)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
at Function.Module.runMain (module.js:665:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:607:3
TLDR: я думаю, что понятия не имею, что я делаю с DialogFlow и Heroku.У меня все DialogFlow настроено, но я очень борюсь со стороной выполнения вещей.
Моя цель - просто взять целочисленный ввод из DialogFlow, выполнить некоторые математические операции с javascript иверните ответ.Может ли кто-нибудь указать мне правильное направление, как делать такие вещи?Меня не волнует интеграция API (которой, похоже, все помешаны в Интернете), я просто хочу сделать математику с параметрами из DialogFlow.