在stackoverflow上有很多关于一旦在云函数中执行onCreate()后如何获取uid的答案,但是没有一个使用uid作为路径的答案。在我的情况下,我想监视特定用户何时获得关注者。然后,我要提醒该用户的关注者。
这是我的代码:
console.log('uid valll ' + exports.auth.uid)
exports.announceFollower = functions.database
.ref('users/{exports.auth.uid}/followers/{followerId}')
.onCreate(event => {
let follower = event.data.val()
sendNotification(follower)
})
function sendNotification(follower){
let uid = follower.val
let payload = {
notification: {
title: 'New Follower',
sound: 'default'
}
}
console.log(payload)
let topic = functions.database.ref('users/{exports.auth.uid}/followerTopicId')
console.log('topic val' + topic)
admin.messaging().sendToTopic(topic.val , payload)
}
上面写着 exports.auth.uid 的地方,我正试图抓住当前登录用户的uid。
我尝试使用此功能:
exports.auth = functions.https.onRequest((req, res) => {
cors(req, res, () => {
const tokenId = req.get('Authorization').split('Bearer ')[1];
return admin.auth().verifyIdToken(tokenId)
.then((decoded) => res.status(200).send(decoded))
.catch((err) => res.status(401).send(err));
});
});
但是我在Firebase云功能控制台中收到了消息:
uid valll undefined
在查看文档后:
https://firebase.google.com/docs/functions/database-events
目前还不清楚。访问当前登录用户使用路径的uid的合适方法是什么?谢谢。