新建 Firebase 期间的 UpdateProfile()
Posted
技术标签:
【中文标题】新建 Firebase 期间的 UpdateProfile()【英文标题】:UpdateProfile() during singup Firebase 【发布时间】:2017-08-13 06:57:59 【问题描述】:我正在开发一个应用程序,我想实现这一目标。 当用户登录时,我想获取他的用户名并存储在 firebase 中。 所以我创建了这个:
Signup(email: string, password: string, displayName: string)
this.angFire.auth.createUser(
email: email,
password: password
).catch(
(err) =>
console.log(err);
this.error = err;
)
...
这行得通,现在我还需要将 displayName 保存到当前用户中,所以我尝试在同一个函数 (Singup()) 中执行此操作:
let user = firebase.auth().currentUser;
user.updateProfile(
displayName: this.displayName,
photoURL: "https://example.com/jane-q-user/profile.jpg"
).then(function()
console.log("Nome utente inserito");
, function(error)
console.log("Errore durante inserimento utente");
);
但它给了我这个:
error_handler.js:54 EXCEPTION: Error in ./SignupPage class SignupPage - inline template:70:4 caused by: Cannot read property 'updateProfile' of null
怎么做? 我在 ionic 2 angular2、firebase/angulrfire 上运行
文档参考:
更新用户的个人资料
您可以更新用户的基本个人资料信息——用户的显示 名称和个人资料照片 URL — 使用 updateProfile 方法。例如:
var user = firebase.auth().currentUser;
user.updateProfile( displayName: "Jane Q. User", photoURL: "https://example.com/jane-q-user/profile.jpg" ).then(function() // 更新成功。 , function(error) // 发生错误。 );
Here
【问题讨论】:
3 月发帖还是没有人得到正确答案? 你更新了 displayName 吗? 【参考方案1】:我的回答为时已晚,但万一有人感兴趣,你可以这样做
constructor(
private afAuth: AngularFireAuth,
private router: Router
)
//
async signupUser(email: string, password: string): Promise<any>
const data = await this.afAuth.createUserWithEmailAndPassword(
email,
password
);
return this.updateUserData(data.user).then(() =>
this.router.navigate(["/"]);
);
private updateUserData( uid, email, photoURL, displayName : User)
const userRef: AngularFirestoreDocument<User> = this.afs.doc(
`users/$uid`
);
return userRef.set( uid, email, photoURL, displayName , merge: true );
您可以了解更多here
【讨论】:
以上是关于新建 Firebase 期间的 UpdateProfile()的主要内容,如果未能解决你的问题,请参考以下文章
使用 React 和 react-redux-firebase 在登录期间确定范围
添加 Firebase 依赖项后 Gradle 同步失败:打包 APK 期间文件重复
更改了 Firebase 项目,它给了我错误 [ API 密钥无效。请传递有效的 API 密钥。 ] 身份验证期间
如果在 Firebase Android 初始注册期间帐户已与 google 关联,则使用 Facebook 登录