我试图在节点上编写一个云功能,在那里我可以从参数返回令牌。我使用的URL是...https://us-central1-nmnm03.cloudfunctions.net/getaccount?taccount = asd
我的功能是这个...和错误。我怀疑我没有正确分配TT。
var functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.GetAccount = functions.https.onRequest((req, res) => {
const t = admin.database().ref('/newaccout/'+req.query.account)
const tt = t.child(token)
res.send( "res is " + tt );
});
req.query.Account是关键。文档中的项目之一是令牌理想情况下,我想得到类似...{" token":" 2345345885"}
我可以得到一个节点提示...谢谢
不过,我不是firebase怪胎。从文档中看来,您将有两个事件可以使用这些事件来聆听检索儿童数据。您可以在这里阅读更多信息。给定的选项用于不同的情况。请遵循上述链接以具有清晰的视图。
在您的云功能中您可以尝试以下操作:
const t = admin.database().ref('/newaccout/'+req.query.account)
t.on('child_added', function(data) {
res.json({
token: data.token
})
})
或可能是这样:
const t = admin.database().ref('/newaccout/'+req.query.account)
t.once('value', function(snapshot) {
//Process it like above
//But here you will get al child elements at once
});
看起来您期望在存储在t处的数据库参考上查询该值。不幸的是,您实际上还没有进行查询。TT只是指向数据库中一个位置的另一个参考对象。您应该使用曾经((方法来查询数据库位置。还要记住,您正在使用一个称为token
的变量,但是您尚未在代码中定义。对我来说,这看起来会给我带来错误。
查看一堆示例代码可能会得到很好的服务。