0

私はイオンベースのアプリケーションでFacebookにログインするためfirebase認証システムを使用しています。firebase facebook authユーザーデータを取得

私はプロファイルデータを取得し、データベースにログインした後にデータベースに保存しようとしています。あなたはどのように私はそれを行うことができますを確認することができます次のコード。

ユーザーはログインに成功できますが、データをデータベースに設定することはできません。 どうすれば解決できますか?

loginWithFacebook() { 

this.facebook.login(['email']).then((response) => { 
    let credintial = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken); 
    firebase.auth().signInWithCredential(credintial).then(info => { 
    this.userEmail = info['email']; 
    this.userName = info['displayName']; 
    this.userUid = info['uid']; 
    }); 
}); 

this.afDatabase.database.ref(`dump/${this.userUid}`).set({ 
    username: this.userName, 
    email: this.userEmail, 
    uid: this.userUid, 
    wallet: 0 
}).then(data => { 
    this.navCtrl.setRoot(TabsPage); 
}); 

} 

答えて

0

あなたは非同期関数を使用していて、中に成功した記号の後にデータベースにレコードを挿入する必要があることに注意する必要があります。

loginWithFacebook() { 

    this.facebook.login(['email']).then((response) => { 
     let credintial = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken); 
     firebase.auth().signInWithCredential(credintial).then(info => { 
      this.userEmail = info['email']; 
      this.userName = info['displayName']; 
      this.userUid = info['uid']; 
      this.afDatabase.database.ref(`dump/${this.userUid}`).set({ 
       username: this.userName, 
       email: this.userEmail, 
       uid: this.userUid, 
       wallet: 0 
      }).then(data => { 
       this.navCtrl.setRoot(TabsPage); 
      }); 
     }); 
    }); 

} 
関連する問題