Javascript 我想把实体放进Firebase
我想把实体放进Firebase。我使用谷歌的Dialogflow。 我想将名称实体放入Firebase数据库 现在我的Javascript代码是Javascript 我想把实体放进Firebase,javascript,firebase,dialogflow-es,Javascript,Firebase,Dialogflow Es,我想把实体放进Firebase。我使用谷歌的Dialogflow。 我想将名称实体放入Firebase数据库 现在我的Javascript代码是 'use strict'; const functions = require('firebase-functions'); const {WebhookClient} = require('dialogflow-fulfillment'); const admin = require('firebase-admin'); admin.initi
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const admin = require('firebase-admin');
admin.initializeApp({
credential:admin.credential.applicationDefault(),
databaseURL:'ws://app-name.firebaseio.com/',
});
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 handleName(agent) {
const name = agent.parameters.name;
}
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
intentMap.set('Default Fallback Intent', fallback);
agent.handleRequest(intentMap);
});
我运行我的代码,并将文字写入DialogFlow,但Firebase中没有数据。我认为我的代码是错误的,但无法理解什么是错误的。
如何修复此问题?您显示的代码至少有两个问题:
handleName()
函数,它似乎是一个意图处理程序,但您没有在intentMap
中将其注册为处理程序
handleName()
函数没有对该名称执行任何操作。特别是,它并没有试图在Firebase中保存它
intentMap.set('Name Intent', handleName);
寻址2取决于您的firebase结构,但可能类似于
function handleName(agent) {
const name = agent.parameters.name;
const ref = admin.database().ref('path/to/where/to/store/name');
return ref.set( name )
.then( () => {
agent.add("Data saved. What next?");
}
}
您显示的代码至少有两个问题:
handleName()
函数,它似乎是一个意图处理程序,但您没有在intentMap
中将其注册为处理程序
handleName()
函数没有对该名称执行任何操作。特别是,它并没有试图在Firebase中保存它
intentMap.set('Name Intent', handleName);
寻址2取决于您的firebase结构,但可能类似于
function handleName(agent) {
const name = agent.parameters.name;
const ref = admin.database().ref('path/to/where/to/store/name');
return ref.set( name )
.then( () => {
agent.add("Data saved. What next?");
}
}
我能理解你说的话,但我无法编写你所说的代码。你会编写示例代码吗?我已经用一些示例更新了答案,但你所做的完全取决于你正在尝试做什么,而你还没有真正弄清楚这一部分。因此,您可能希望查阅有关如何在Firebase中保存值的文档,并尝试使用它们,如果您仍然有问题,请提出一个新问题,说明您尝试了哪些方法,哪些方法无效。我可以理解您的意思,但我无法编写你所说的代码。你会编写示例代码吗?我已经用一些示例更新了答案,但你所做的事情在很大程度上取决于你正在尝试做什么,而你还没有真正弄清楚这一部分。因此,您可能希望查阅有关如何在Firebase中保存值的文档,并尝试使用它们。如果仍然存在问题,请提出一个新问题,说明您尝试了哪些内容,哪些内容不起作用。