У меня возникли проблемы с получением значения, возвращаемого моей функцией https.get внутри моего диалога намерения закрыть диалог.Независимо от того, выполняю ли я этот вызов в app.intent или передаю его внешнему вызову, он не выполняется.Я новичок в node.js, но раньше использовал angular.js и javascript, но не смог завершить беседу ответом.Эмулятор Google Actions выдает мне ошибку
MalformedResponse Ожидаемые_инвенты [0] .input_prompt.rich_initial_prompt: 'rich_response' должен содержать хотя бы один элемент.
Ниже приведен мой код:
app.intent('mywebhook', (conv, params) => {
const stateName = params['geo-state-us'];
console.log("My State is " + stateName);
var pathString = 'api path' + encodeURIComponent(stateName);
var request = https.get({
host: 'www.mydomainame.com',
path: pathString
}, function (response){
var json = "";
response.on('data', function(chunk) {
json += chunk;
});
response.on('end', function(){
var jsonData = JSON.parse(json);
var myfirstvar = jsonData[0].firstvar;
var chat = "the value of first var is " + chat;
console.log(chat); // this works fine
conv.close(chat);
});
}).on('error', (e) => {
console.error(e);
});
}
Я даже пытался сделать conv.close (chat) снаружи и JSON.stringify (request), чтобы получить значение myfirstvar, но ничего не получалось.Целый день провел, пробуя разные вещи, но безрезультатно.