我正在编写一个在Firebase中创建新用户时触发的函数。调试此函数需要我很长时间,因为我为每一次更改部署了云函数。 我使用Firebase CLI来模拟数据库中的其他事件,但我无法弄清楚如何正确模拟用户创建(使用所有参数)。
要启动CLI,我运行:
firebase experimental:functions:shell
我的功能是:
exports.createTreeForNewUser = functions.auth.user().onCreate(event => {
const user = event.data;
console.log(user.uid);
console.log(user.displayName);
console.log(user.email);
console.log(user.photoURL);
console.log(user.metadata.creationTime);
return null;
});
在Firebase CLI中运行以下命令时:
createTreeForNewUser()
它打印undefined
4次,然后是异常,因为它无法从creationTime
中提取undefined
。
这种行为是有道理的,但无论我尝试什么,我都无法弄清楚如何正确传递event
(这样函数就能够提取我需要的所有参数)。
问题是:
如何在createTreeForNewUser
参数设置正确的情况下运行event
?
谢谢! 斯拉维克
答案 0 :(得分:1)
将用户对象传递给函数:
createTreeForNewUser({
uid: 'xxx',
displayName: 'John',
email: 'foo@bar.com',
photoURL: 'https://...',
metadata: {creationTime: 123}
})