#javascript #firebase #google-cloud-functions #dialogflow-es #firebase-admin
#javascript #firebase #google-cloud-функции #диалоговые потоки #firebase-admin
Вопрос:
У меня проблема, мой код в индексе выглядит так:
const functions = require ('firebase-functions');
const {WebhookClient} = require ('dialogflow-fulfillment');
const {Card, Suggestion} = require ('dialogflow-fulfillment');
process.env.DEBUG = 'dialogflow: debug';
exports.dialogflowFirebaseFulfillment = functions.https.onRequest ((request, response) => {
const agent = new WebhookClient ({request, response});
console.log ('Dialogflow Request headers:' JSON.stringify (request.headers));
console.log ('Dialogflow Request body:' JSON.stringify (request.body));
function SubmitFeedback (agent) {
var functioncaoFeedback = require ('./EnviarFeedback');
functionFeedback.SendFeedback (agent);
}
let intentMap = new Map ();
intentMap.set ('inputName', CheckName);
intentMap.set ('confirmFeedback', SendFeedback);
intentMap.set ('InputMessage', CheckMessage);
intentMap.set ('InputValues', CheckValue);
intentMap.set ('negacaoFeedback', CheckNegacao);
agent.handleRequest (intentMap);
});
И я вызываю функцию «EnviarFeedback» файла EnviarFeedback.js но это выдает ошибки в журнале, и ошибки:
Необработанный отказ
Выполнение функции заняло 537 мс, завершено со статусом: «сбой»
И вот SubmitFeedback.js файл:
const admin = require ('firebase-admin');
admin.initializeApp ({
credential: admin.credential.applicationDefault (),
databaseURL: 'https://pri-ambiente-de-teste.firebaseio.com/'
});
module.exports.SendFeedback = function (agent) {
var context = agent.context.get ('result');
var name = context.parameters.name;
var value = context.parameters.valor;
var message = context.parameters.mensagem;
console.log (name, value, message);
let banco = admin.database (). ref ('Data /');
console.log (JSON.stringify (bank));
return banco.push ({
Name: name,
Value: value,
Message: message
}, function (error) {
if (error)
console.log ('Error has occured during saving process')
else
console.log ("Data hss been saved succesfully")
});
}
Комментарии:
1. вы проверили эту строку
let banco = admin.database (). ref ('Data /');
?, у вас есть пробел, это предназначено? Если вы можете поделиться более подробной информацией, текущая ошибка мало что говорит.
Ответ №1:
Ну, похоже, что в вашем импорте есть пробел между косой чертой и именем файла. Может быть, это просто так.
В любом случае, вы также должны использовать блок try / catch для обработки любого исключения в вашем коде и регистрировать в консоли firebase сообщение об ошибке.
Комментарии:
1. В нем не было места, пришло время скопировать его сюда, и я пошел редактировать, в итоге получилось с пробелом, даже если бы это была попытка и уловка, потому что я пробовал это несколько раз, и это выдавало ошибку или даже не работало