Я пытаюсь следовать руководству по диалогу.Я создал webhook node.js, который вызывается из Dialogflow, внутри кода webhook, который я вызываю для API.Тем не менее, мой node.js webhook говорит "Ошибка: getaddrinfo ENOTFOUND".Это прекрасно работает, когда я запускаю его в визуальном коде, но не могу найти API в webhook nodejs, когда вызывается через DialogFlow.Есть что-то в том факте, что он вызывается из Dialogflow, что, кажется, заставляет его не работать.
Я потратил много времени на это и заранее обнаружил, что DialogFlow не будет работать с https, где это самозаверяющий сертификат, поэтому я поставил функцию Azure, поэтому webhook вызывает функцию Azure итогда функция azure вызывает API, который мне нужен.Извините за длинный пост ...
Вот код node.js:
'use strict';
const http = require('http');
var request = require('request');
const apiUrl ="https://myapi";
exports.saledurationWebhook = (req, res) => {
// Get the city and date from the request
// let city = req.body.queryResult.parameters['geo-city']; // city is a required param
let city = "sdjk";
// Call the weather API
callSalesDurationApi(city).then((output) => {
res.json({ 'fulfillmentText': output }); // Return the results of the weather API to Dialogflow
})
.catch((err) => {
console.log(err);
//res.json({ 'fulfillmentText': `I don't know the sales duration is but I hope it's quick!` });
res.json({ 'fulfillmentText': err.message});
})
;
};
function callSalesDurationApi(city) {
return new Promise((resolve, reject) => {
console.log('API Request: ' + apiUrl);
var myJSONObject = {
"Inputs": "stuff"
};
request({
url: apiUrl,
method: "POST",
json: true, // <--Very important!!!
body: myJSONObject
}, function (error, response, body) {
console.log("successfully called api");
let output = "Current conditions in the " + body;
console.log(output);
console.log(body);
resolve(output);
});
});
}
Кто-нибудь знает, почему это может происходить?Или какие дальнейшие шаги я могу предпринять, чтобы исследовать это?Я уже посмотрел ложи для веб-крючка и для лазурной функции.
Любая помощь будет с благодарностью получена, я уже потратил впустую дни на это.Если это дублирующий вопрос, извините, я попытался найти существующие ответы на этот вопрос.
Спасибо, Лора