我正在向用户发送动态通知。因此,我正在处理Firebase云函数。这里是我的问题:我如何访问云功能端的数据库?
这是我的代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
// exports.helloWorld = functions.https.onRequest((request, response) => {
// response.send("Hello from Firebase!");
// });
admin.initializeApp(functions.config().functions);
var newData;
//exports.myTrigger= functions.firestore.document().
exports.notificationTrigger = functions.firestore.document(`notifications/{notificationId}`).onCreate(async (snapshot, context) => {
if (snapshot.empty) {
console.log('No Devices');
return;
}
var notificationData = snapshot.data();
// notificationData.email;
console.log(`Data is : ${notificationData.email}`);
admin.database().ref(`users/${notificationData.email}/deviceToken`).then((snapshot) => {
var token = snapshot.data();
console.log('token',token)
return 1;
}).catch(err => {
console.error(err);
});
var tokens = [
`${token.deviceToken}`
];
var payload = {
notification: {
title: `Yeni Eklenen Değerin Maili : ${notificationData.email}`,
body: 'hüsen',
sound: 'default',
},
data: {
click_action: 'FLUTTER_NOTIFICATION_CLICK',
Messages:'Baba Mesajı from otomatik fonksiyon'
},
};
try {
const response = await admin.messaging().sendToDevice(tokens, payload);
console.log('Notification sent successfully');
} catch (err) {
console.log(err);
}
});
正如你们所看到的,首先,我想从nofications集合中获取电子邮件,然后使用该电子邮件,我想搜索正在使用该电子邮件的用户,然后,我想获取用户deviceToken。
我尝试了很多关于语法的东西,但没有得到任何结果:/
同样,我也犯了一些错误:
在这里您可以看到错误:
错误消息告诉您出了什么问题:
参考child失败:第一个参数是无效的path=“users”/patientaccount@gmail.com/deviceToken“.路径必须是非空字符串,并且不能包含”。“,”#“,“$”,“[”或“]”
包含电子邮件地址的路径具有无效字符。
。
如果您想存储每个用户的数据,您应该使用用户帐户的唯一ID。出于各种原因,电子邮件地址并不是很好的唯一标识符。
把日志放在各处,我发现它到达了语句。但是,回调从未被调用。 它卡在那一点上。没有错误。没有例外。 最大的问题是,从那时起,它停止了整个应用程序的所有回调。我的所有活动都被阻止了,因为它从不调用。看起来它在内部崩溃或被线程阻塞。
目前,我尝试学习nestjs,因此我遵循官方(cat-)教程构建了一个基本的用户身份验证系统。 当您访问API以更改用户名或密码时,请求应检查用户是否为有效用户(从数据库读取用户)。为了存储用户,我已经有了mongodb连接。 我目前正在琢磨如何在警卫中获得数据库模块/访问权限。 防护正在工作,但只返回true,我尝试注入数据库模块,但没有成功。 使用findOne方法扩展UserService类
本文向大家介绍php批量删除操作(数据访问),包括了php批量删除操作(数据访问)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了php批量删除操作的具体代码,供大家参考,具体内容如下 1.批量删除页面 piliangcaozuo.php 引用的封装类 DBDA.class1.php 2.删除处理界面 sanchu.php 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家
问题内容: 我有一个Iron-router路由,我想通过它通过HTTP POST请求接收经纬度数据。 这是我的尝试: 但是查询服务器: 返回。 也许不包含发布数据?我试图检查对象和请求,但找不到。 问题答案: Iron- router中的连接框架使用bodyParser中间件来解析主体中发送的数据。bodyParser使该数据在对象中可用。 以下对我有用: 这给了我: 另请参见此处:http :
我试图创建一个简单的程序,从用户的名字,手机号码和电子邮件地址,然后把数据在Firebase实时数据库。 有3个输入框和一个按钮,按一下就可以完成上面的操作。代码如下: 我这样设置了消防基地:
我想获取日期字段,但下面的代码没有这样做。Toast显示null(字符串日期的值)。 公共字符串日期;