Tag: firebase

带有Gmail“发件人:地址”的Nodemailer不会更改

我正尝试将电子邮件发送给我的邮件列表中的任何新订阅者。 一切都很好,但“发件人”的电子邮件地址不会改变为“noreplay”,它仍然是我authentication的电子邮件,在这种情况下,我的工作邮件。例如,如果我将“from”设置为“noreply @ example .com“发送来自”jaafar@example.com“的邮件,这是我的代码: if (snapshot.child("subscribed").val() === 'true') { var value = snapshot.child("email").val(); //ignore this var key = snapshot.key; //ignore this var mailHtml = val.htmlText1 + httpLink + key + val.htmlText2; //ignore this let mailOptions = { from: '"JaafarsCompany" <noreply@jaafarsCompany.io>', // sender address to: value, // list of receivers subject: 'Hello', // Subject line […]

在调用更新()数据库ref javascript的Firebase无效path

我正在使用Firebase node.js admin sdk通过csv导入器使用自定义uid创build用户帐户。 这一切工作正常。 在成功创build帐户我想更新数据库引用。 但是,只要函数循环在db中创build条目,它就会失败,并显示消息 未被捕获的错误:Firebase.child失败:第一个参数是无效的path:“contractors / jk116734s”。 path必须是非空string,不能包含“。”,“#”,“$”,“[”或“]” 正如您在上面的日志消息中所看到的那样,path中不包含任何不需要的字符,path也不是空的。 奇怪的是,它确实更新了数据库中的一条logging,但其他所有的logging都失败了。 path“承包商/ jk116734s”我也logging所有的path,没有不确定的或包含无效的字符。 网站的部分内容都是独一无二的。 这是我的function,每个成功的帐户创build被调用。 function createDbEtnryForUser(index, contractorData) { var ni = contractorData.ni; var path = "contractors/" + ni console.log(path); databaseRoot.ref(path).update(contractorData); databaseRoot.ref(path).once('value',function(snapshot) { $('#row-'+index).css({"background-color":"green", "color":"white"}); }); } 你也可以看到一个条目正在创build,但其余的不是。 奇怪的是,如果我不使用自定义的uid和使用由firebase创build的自动uids都工作正常。 我不明白的是,所有的帐户都是使用自定义uid创build的,正如您所看到的,我正在获取自定义uid,以便在调用中进行更新。

Firebasefunction可以在使用NodeJS从数据库中删除对象时从存储中删除文件

我是NodeJS的新手,我正在尝试为Firebase的云端函数编写下一个方法。 我正在努力实现的是: 当用户从Firebase DB中移除Photo对象时,该function应该被触发; 该代码应该从对应于Photo obj的存储中移除文件对象。 这些是我的Firebase数据库结构: 照片/ {userUID} / {} photoUID { "dateCreated": "2017-07-27T16:40:31.000000Z", "isProfilePhoto": true, "isSafe": true, "uid": "{photoUID}", "userUID": "{userUID}" } Firebase存储格式: 照片/ {userUID} / {} photoUID .PNG 和我正在使用的NodeJS代码: const functions = require('firebase-functions') const googleCloudStorage = require('@google-cloud/storage')({keyFilename: 'firebase_admin_sdk.json' }) const admin = require('firebase-admin') const vision = require('@google-cloud/vision')(); admin.initializeApp(functions.config().firebase) exports.sanitizePhoto = functions.database.ref('photos/{userUID}/{photoUID}') .onDelete(event […]

如何在Firebase的Cloud Functions中实现json对象?

我想通过将原始收据发送到App Store服务器进行validation,并使用Firebase云function获取validation回执,来validation应用购买收据中的苹果。 var jsonObject = { 'receipt-data': receiptData, password: functions.config().apple.iappassword }; var jsonData = JSON.stringify(jsonObject); var firebaseRef = '/' + fbRefHelper.getUserPaymentInfo(currentUser); let url = "https://sandbox.itunes.apple.com/verifyReceipt";//or production request.post({ headers: { 'content-type': 'application/x-www-form-urlencoded' }, url: url, body: jsonData }, function (error, response, body) { if (error) { } else { var jsonResponse = JSON.parse(body); if (jsonResponse.status === […]

存储上的Firebasefunction是否存在通配符?

我已成功使用Firebasefunction对我上传到Firebase存储的文件执行操作。 我目前想要做的是通过使用通配符访问我正在推送数据的文件夹,其实现方式与实时数据库+ Firestore相同。 但是,每当我尝试访问这些参数,他们只返回null 。 这不可能吗? 这是我的代码的一个例子: exports.generateThumbnail = functions.storage.object('user-photos/{userId}/{publicOrPrivate}').onChange(event => { const privateOrPublic = event.params.publicOrPrivate; const isPrivate = (event.params.publicOrPrivate == "private"); const userId = event.params.userId; console.log("user id and publicOrPrivate are", userId, privateOrPublic); //"user id and publicOrPrivate are undefined undefined" } 谢谢!

Google Cloud Function Node.js Firebase Url

我有一个Android应用程序,我可以通过http格式从我的设备发送推送通知,但现在我想写一个节点,我希望在特定的date和时间安排推送通知,有人请帮助我,我是长期以来一直陷在这个过程中 这是我的节点; const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.sendNotification = functions.https.onRequest((req, res) => { const to = req.query.to; const title = req.query.title; const body = req.query.body; var payload; if (body != undefined && body !== '') { payload = { notification: { title: title, body: body } }; } else { payload […]

使用Node.js和Firebase竞争条件

我是Firebase和Node.js的新手,但我想要做的是以下几点: gameScoreRef.child(score["ss"][i][10]).once('value', function(snapshot) { if (!snapshot.val()) { // NULL } else { gameID = snapshot.val(); console.log(gameID); } }); var ref = gamesRef.child(gameID); ref.update({ aScore: parseInt(score["ss"][i][5]), hScore: parseInt(score["ss"][i][7]) }); 所以基本上我只要做一个Firebase调用就可以获得GameScore Ref,一旦检索完成,就会使用该GameID来更新游戏得分。 抛出的错误是gameID为null,而不是因为Firebase实际上有null,所以console.log(gameID)的值正确显示为43,这是因为看起来第一个Firebase调用还没有完成第二次Firebase通话,更新分数是否达到? 我将如何解决?

Nodejs,Cloud Firestore上传任务 – 身份validation错误:错误:套接字挂断

我正在编写一个运行API调用的函数,并通过偏移量从一个巨大的数据库顺序请求JSON。 parsingJSON响应,然后将其中的后续数据上传到我们的Cloud Firestore服务器。 Nodejs(Node 6.11.3)和最新的Firebase Admin SDK 信息按预期parsing,并完美地打印到控制台。 当数据尝试上传到我们的Firestore数据库,但是,控制台被垃圾邮件与错误消息: 身份validation错误:错误:套接字挂断 (节点:846)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:-Number-):错误:从插件获取元数据失败,错误:套接字挂断 偶尔: 身份validation错误:错误:读取ECONNRESET forEach函数收集下载的JSON中的项目,并在上传到Firestore数据库之前处理数据。 每个JSON都有多达1000个数据项(1000个文档值)通过forEach函数。 我知道这可能是一个问题,如果function重复之前上传设置完成? 我是一个编码新手,并明白,这个function的控制stream是不是最好的。 但是,我无法find有关控制台打印错误的任何信息。 我可以find大量有关套接字挂起的信息,但没有在validation错误部分。 我使用生成的服务帐户JSON作为凭据访问我们的数据库,该数据库使用firebase-adminsdk帐户。 我们对数据库的读/写规则目前是开放的,以允许任何访问(因为我们正在开发没有真正的用户)。 这是我的function: Firebase初始化和偏移调零 const admin = require('firebase-admin'); var serviceAccount = require("JSON"); admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "URL" }); var db = admin.firestore(); var offset = 0; var failed = false; 运行function并设置HTTP头 var runFunction = function runFunction() […]

错误:未创buildFirebase应用“” – 调用Firebase App.initializeApp()

我有一个firebase数据库连接到两个应用程序,一个是iOS应用程序,另一个是在node.js中编写的networking应用程序,这是一个将数据设置到数据库的基本algorithm。 当我运行algorithm时,我遇到了 – 错误:未创buildFirebase应用“[DEFAULT]”,请调用Firebase App.initializeApp()。 (/ Users / dd / Desktop / Code / NODE / node_modules / firebase)在R(/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:22:335)错误(本机) /app-node.js:20:68)在Object.c [作为数据库](/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:21:447)。 (/Users/dd/Desktop/Code/NODE/Bot.js:24:25)在Module._compile(module.js:570:32)在Object.Module._extensions..js(module.js:579:10 )在Module.runMain(module.js:604)处的Function.Module._load(module.js:438:3)处的模块.load(module.js:487:32)处的tryModuleLoad(module.js:446:12) :10)在启动时(bootstrap_node.js:149:9)在bootstrap_node.js上运行(bootstrap_node.js:394:7):509:3 dd-mac:NODE dd $ 有人可以帮忙吗?

firebase队列 – 重试不起作用?

试图找出如何使重试工作。 这是我的FB队列的外观: { "specs" : { "default_spec" : { "retries" : 3, "timeout" : 60000 } }, "tasks" : { } } 这就是我正在testing如果重试工作: const queue = new Queue(getFirebaseRef(),{'numWorkers': 10} , function (data, progress, resolve, reject) { console.log('processing queue message:' + JSON.stringify(data)); progress(50); setTimeout(()=>{ reject(new Error("error while processing blabla")); },2000); }); 所以当我将新任务推送到队列中时,这是我的工作人员处理后的样子: { "-KcsTIDBAq1S_fdiwsv6" : { […]