Dialogflow - интеграция с Heroku JS - PullRequest
       6

Dialogflow - интеграция с Heroku JS

0 голосов
/ 14 сентября 2018

Для начала я провел многочасовые исследования того, как заставить 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.

1 Ответ

0 голосов
/ 14 сентября 2018

Давайте посмотрим на ваш код с удаленным фрагментом, сосредоточив внимание на скобках и скобках:

server.post('/get-movie-details', (req, res) => {  // <-- Open brace...
    return res.json({
    });
    (error) => {  // <-- Where should this error function be?
                  //     It's currently inside your success function
        return res.json({
        });
    });  // <-- ...mismatched closing brace
};

Скорее всего, вы захотите закрыть функцию (req, res) после возврата res.json() изатем откройте функцию ошибки в качестве другого аргумента для server.post(), например

server.post('/get-movie-details', (req, res) => {
    return res.json({
    });
},
(error) => {
    return res.json({
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...