Tag: firebase

如何使Android Java代码调用Node.js代码?

我有我有一些代码,我想调用一些Node.js代码,我不知道如何去做这件事。 我想按照此博客文章所述实施这些Firebase通知: https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html 但是有一些Node.js代码会监听我的Firebase数据库,并会检测是否有东西被插入到我的数据库中。 有没有什么办法可以在我的Android应用程序的某个地方“部署”这个代码,并让它可以被调用? 下面是我想从我的Android应用程序中调用的Node.js代码: var firebase = require('firebase'); var request = require('request'); var API_KEY = "…"; // Your Firebase Cloud Server API key firebase.initializeApp({ serviceAccount: ".json", databaseURL: "https://.firebaseio.com/" }); ref = firebase.database().ref(); function listenForNotificationRequests() { var requests = ref.child('notificationRequests'); ref.on('child_added', function(requestSnapshot) { var request = requestSnapshot.val(); sendNotificationToUser( request.username, request.message, function() { request.ref().remove(); } […]

Firebase admin.auth.createUser错误(nodejs + Typescript + firebase-admin)

我得到一个错误error TS2339: Property 'createUser' does not exist on type 'FirebaseServiceInterface'. 当我尝试在nodejs上传输Typescript时。 我正在使用firebase-admin 4.0.4和typescript 2.0.6 。 可能是什么问题呢

如何检查服务器上的客户端进行身份validation?

情况: 目前,我通过URL传递UID到服务器。 然后我使用UID检查数据库中是否存在该UID: 码: router.get("/profile/:uid", function(req, res, next){ var uid = req.params.uid; var userRef = admin.database().ref("users/"+uid); userRef.once('value', function(snapshot){ if (snapshot != null) { 问题: 这意味着任何人都可以访问任何人的个人资料通过构build一个url并将其粘贴到search栏中,并包括该用户的UID。 题: 如何检查用户是否在服务器上进行了身份validation,而没有出现这种安全漏洞?

在NodeJS应用程序中提交firebase文件的做法是什么?

我最近探索了在NodeJS环境中托pipeReact应用程序的firebase。 初始化firebase CLI工具创build了两个文件: .firebaserc firebase.json 将这些文件提交到存储库的做法是什么? 没有? 我search了Google,讽刺的是没有find我想要的东西。 我在两台机器上工作,感觉像.firebaserc是环境/机器特定的,因此不应该提交到存储库。 如果我正在和其他开发人员一起开发这个项目,我觉得我会希望firebase.json在环境/机器之间保持一致。 我不想让另一个开发人员独立于代码库上的其他开发人员对firebase.json进行更改。 因此,我正在考虑提交.firebaserc并将.firebaserc添加到.gitignore 。

如何了解Firebase云端function中的新数据?

您如何知道数据是否未更改以及Firebase Cloudfunction中的新增function? 我已经尝试了几个不同的选项来标记,如果数据刚刚更改,那么我不会发送推送通知。 另外我试图从快照获取_newData和_data子节点来比较数字,如果__newData更大,那么这是一个新的logging,但它没有工作。 请告诉我如何做到这一点。 示例代码片段。 module.exports = functions.database.ref('/userListEvents/{userID}') .onWrite(event => { const snapshot = event.data; if (event.data.val() && !event.data.previous.val()) { console.log('send push notification'); } else if (snapshot._data) { console.log('send push notification'); } else { return console.log('data was removed'); }; } 参考 functions.database.ref('/cards/{cardID}/interestedUsers') .onWrite(event => { 更新:这个选项对我不起作用,因为如果我这样做,例如functions.database.ref ('/ userListEvents / {userID} / {eventID}') ,那么报告错误是该字段不能为空。 我尝试了,但没有得到好的结果。 […]

VueFire vs Vue.js + Node.js vs Vue.js +羽毛的优点,缺点和区别

我对前端框架做了大量的研究,并决定尝试使用Vue.js。 不过,我也想通过实时“数据更新”来获得后端。 我曾看过VueFire(Vue.js + Firebase),Node.js和Feathers。 它看起来像羽毛只有有限的资源/文档使用Vue,而似乎与Vue.js VueFire和Node.js有大量的信息。 这三个后端有什么区别? 使用其中一个的优点/缺点是什么?

在从我的承诺/function返回之前等待forEach完成

我正在使用Firebase Cloud Firestore,但是,我认为这可能是更多的JavaScriptasynchronous与同步承诺返回问题。 我正在做一个查询来从一个集合中获取ID,然后循环查询的结果从另一个集合中查找基于该ID的单个logging。 然后我想将每个find的logging存储到一个数组中,然后返回整个数组。 results.length始终为0,因为return results在forEach完成之前触发。 如果我从forEach内部打印results.length它有数据。 我怎么才能等到forEach完成之后才从外部承诺和外部函数本身返回呢? getFacultyFavoritesFirebase() { var dbRef = db.collection("users").doc(global.user_id).collection("favorites"); var dbQuery = dbRef.where("type", "==", "faculty"); var dbPromise = dbQuery.get(); var results = []; return dbPromise.then(function(querySnapshot) { querySnapshot.forEach(function(doc) { var docRef = db.collection("faculty").doc(doc.id); docRef.get().then(function(doc) { if (doc.exists) { results.push(doc); } }) }); console.log(results.length); return results; }) .catch(function(error) { console.log("Error getting […]

Yeoman发电机; 这些错误是什么意思?

我正在尝试安装angular度火力发电机Yeoman发电机。 我收到下面列出的错误。 他们的意思是什么? 我试着用sudo和普通用户安装发生器。 错误是一样的。 我将不胜感激任何帮助或指导,你可以提供这个。 谢谢! npm ERR! Error: EACCES, mkdir '/Users/mac/.npm/fs-extra/0.10.0' npm ERR! { [Error: EACCES, mkdir '/Users/mac/.npm/fs-extra/0.10.0'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/Users/mac/.npm/fs-extra/0.10.0', npm ERR! parent: 'imagemin' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! System Darwin 11.4.2 npm […]

使用node.js进行Firebase服务器login:databaseAuthVariableOverride“SyntaxError:意外的标识符”

我遵循指南, 以有限的权限login到Firebase 。 我的代码如下所示: firebase.initializeApp({ serviceAccount: "myJsonFile.json", databaseURL: "https://myAppAddress.firebaseio.com/" databaseAuthVariableOverride: { uid: "server" } }); 但是当我运行它时,我得到以下错误: databaseAuthVariableOverride: { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SyntaxError: Unexpected identifier at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:139:18) at node.js:968:3 我对node.js很陌生,这是我第一次尝试运行一个服务器。 我设法以无限制的权限运行它,但是当添加databaseAuthVariableOverride它崩溃与上面的错误。 任何build议表示赞赏!

Javascript:将对象的对象转换为对象数组

我正在使用Polymer 1.0开发一个项目,我想使用dom-repeat从Firebase 3.0中列出数据。 在Firebase中,我有这样的对象的对象: var objectofobjects = { "-KR1cJhKzg9uPKAplLKd" : { "author" : "John J", "body" : "vfdvd", "time" : "September 6th 2016, 8:11", "title" : "vfvfd" }, "-KR1cLZnewbvo45fDnEf" : { "author" : "JJ", "body" : "vfdvdvf", "time" : "September 6th 2016, 8:11", "title" : "vfvfdvfdv" } }; 我想将它转换为这样的对象数组: var arrayofobjects = [ { '-KR1cJhKzg9uPKAplLKd': […]