在Firebase Cloud Functions中使用UID作为路径

时间:2018-07-10 22:33:07

标签: javascript firebase javascript-events firebase-cloud-messaging google-cloud-functions

在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的合适方法是什么?谢谢。

0 个答案:

没有答案