javascript - Reference.child 失败:第一个参数是无效路径 =“/Users/[object Object]/device_token”
问题描述
我正在尝试使用我从教程中获得的这个 java 脚本代码向用户发送通知
'use strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sendNotification = functions.database.ref('/Notifications/{user_id}/{notifications_id}').onWrite((change, context) => {
const user_id = change.after.val();
const notifications = change.after.val();
console.log('We Have A Notification for :', user_id);
if (!change.after.val()){
return console.log("A Notification Has Been Deleted From The Database: ", notifications_id)
}
const deviceToken = admin.database().ref(`/Users/${user_id}/device_token`).once('value');
return deviceToken.then(result => {
const token_id = result.val();
const payload = {
notification: {
title: "Friend Request",
body: "You just got a new friend request",
icon: "default"
}
};
return admin.messaging().sendToDevice(token_id, payload ).then(Response =>{
console.log('this is the notification')
});
});
});
但是当它尝试发送通知时,它会在 firebase 函数日志中返回此错误。我不知道firebase是否对他们的文档进行了更改。请我真的需要帮助让这个代码工作
Error: Reference.child failed: First argument was an invalid path = "/Users/[object Object]/device_token". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
at validatePathString (/user_code/node_modules/firebase-admin/node_modules/@firebase/database/dist/index.node.cjs.js:1612:15)
at validateRootPathString (/user_code/node_modules/firebase-admin/node_modules/@firebase/database/dist/index.node.cjs.js:1623:5)
at Reference.child (/user_code/node_modules/firebase-admin/node_modules/@firebase/database/dist/index.node.cjs.js:13930:17)
at Database.ref (/user_code/node_modules/firebase-admin/node_modules/@firebase/database/dist/index.node.cjs.js:15093:48)
at exports.sendNotification.functions.database.ref.onWrite (/user_code/index.js:17:39)
at cloudFunctionNewSignature (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:105:23)
at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:135:20)
at /var/tmp/worker/worker.js:758:24
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
解决方案
推荐阅读
- c# - 如何在 ASP.Net Core MVC 模型中使用 C# 解析来自 rest api 的 json 数据并将其显示在 HTML 页面上
- ios - iOS:用户对用户订阅的应用内购买?
- git - Git - 是否可以获取与本地分支关联的拉取请求?
- javascript - rxjs订阅在被重写时是否被破坏?
- batch-rename - 如何修复重命名方法?“系统找不到指定的文件”
- pip - 如何在 aws-lambda 上安装 python hunspell
- python - 如何通过在 tkinter 中按下按钮来创建新按钮
- python - 使用 python 索引错误在 Word Docx 中创建表
- java - 如何修复我的合并排序代码上的“NegativeArraySizeException”?
- ios - 单击动态链接时,深层链接不包含有效的必需参数