gpt4 book ai didi

android - event.params 评估为未定义;无法使用云功能访问 Firebase 实时数据库中的 event.params.post

转载 作者:行者123 更新时间:2023-11-29 23:02:06 24 4
gpt4 key购买 nike

我已经尝试了所有我知道的方法来让这个云函数工作,但我不知道为什么这个云函数将 event.params 评估为未定义。

我的云函数是:-

'use-strict'

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.sendNotification = functions.database.ref('posts/{post}').onWrite(event => {
const payload = {
notification: {
title: "Title",
body: event.params.post,
icon: "default"
}
};

return admin.messaging().sendToDevice(payload).then(result => {
console.log("notification Sent")
});

});

我得到的错误:-

sendNotification
TypeError: Cannot read property 'post' of undefined at exports.sendNotification.functions.database.ref.onWrite.event(/srv/index.js: 11: 23) at cloudFunction(/srv/node_modules / firebase - functions / lib / cloud - functions.js: 119: 23) at / worker / worker.js: 825: 24 at < anonymous > at process._tickDomainCallback(internal / process / next_tick.js: 229: 7)

我的数据库有一个名为“posts”的直接子项。每当我向其中添加一个 child 时,说 {post} 函数就会触发,但我无法获得 {post} 值。

最佳答案

这很可能是因为您使用的是旧语法和新版本的 Firebase SDK for Cloud Functions。

您的语法 (.onWrite(event => {})) 对应于 <= v0.9.1 的 SDK 版本。

参见 https://firebase.google.com/docs/functions/beta-v1-diff?authuser=0#realtime-database

您可以在package.json 文件中查看Cloud Functions 的版本。

如果确认您的版本是 > v1.0.0,您应该按如下方式调整您的代码:

exports.sendNotification = functions.database.ref('posts/{post}').onWrite((change, context) => {
const payload = {
notification: {
title: "Title",
body: context.params.post,
icon: "default"
}
};

return admin.messaging().sendToDevice(payload)
.then(result => {
console.log("notification Sent");
return null;
});

});

关于android - event.params 评估为未定义;无法使用云功能访问 Firebase 实时数据库中的 event.params.post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56858254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com