Мне интересно, может ли кто-нибудь помочь, так как я бью себя головой об стену с этим.Я искал ответы в течение нескольких дней и пробовал разные вещи, и ниже приведен самый близкий из них.
По сути, я создаю навык Alexa для личного использования в своем доме, чтобы дать призовые очки моему сыну., и это обновляет на нашей кухне приборной панели.Я могу POST очков нормально и приборной панели обновляется (обновляет базу данных Firebase), но я не могу получить очки, когда я спрашиваю Алекса, сколько у него есть.Мой код приведен ниже.
const GetPointsHandler = {
canHandle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
return request.type === 'IntentRequest'
&& request.intent.name === 'HowManyPointsDoesNameHaveIntent';
},
handle(handlerInput) {
var options = {
"method": "GET",
"hostname": "blah-blah-blah.firebaseio.com",
"port": null,
"path": "/users/Connor/points.json",
"headers": {
"cache-control": "no-cache"
}
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
var body = Buffer.concat(chunks);
//console.log(body.toString());
total = body.toString();
});
});
req.end();
speechOutput = "Connor has " + total + " points";
return handlerInput.responseBuilder
.speak(speechOutput)
.getResponse();
},
};
В тот момент, когда я спрашиваю Алексу, результат «Коннор имеет неопределенные точки», но затем, если я сразу же спрашиваю снова, он работает нормально.
Конечная точка json буквально просто показывает значение, когда я загружаю его в браузере, поэтому мне не нужно копаться в ответе, который я не думаю.
Я знаю, что модуль запроса должен быть проще,но если я установлю это с использованием командной строки кода VS и загрузю функцию, поскольку файл становится настолько большим со всеми зависимостями модуля, я больше не могу редактировать функцию онлайн, так как она превышает ограничение размера, поэтому хочу по возможности этого избежать.
Я знаю, что функцию лучше разместить в качестве помощника, что я сделаю, как только получу эту работу.Мне не нужно, чтобы это было особенно красиво, просто нужно, чтобы это работало.