Javascript 爱奥尼亚3将facebook用户保存到firestore数据库

Javascript 爱奥尼亚3将facebook用户保存到firestore数据库,javascript,ionic3,firebase-authentication,Javascript,Ionic3,Firebase Authentication,我从一些教程中使用facebook登录到我的应用程序facebook登录已经完成,但现在我想将用户数据保存在firestore db中。当我登录时,用户数据以json格式显示在控制台中。我需要在firestore db中保存电子邮件、用户名和uid。谁能告诉我怎么做 facebookLogin(): Promise<any> { return this.facebook.login(['email']) .then( response => { const fa

我从一些教程中使用facebook登录到我的应用程序facebook登录已经完成,但现在我想将用户数据保存在firestore db中。当我登录时,用户数据以json格式显示在控制台中。我需要在firestore db中保存电子邮件、用户名和uid。谁能告诉我怎么做

 facebookLogin(): Promise<any> {
 return this.facebook.login(['email'])
  .then( response => {
    const facebookCredential = firebase.auth.FacebookAuthProvider
      .credential(response.authResponse.accessToken);

    firebase.auth().signInWithCredential(facebookCredential)
      .then( success => { 
        console.log("Firebase success: " + JSON.stringify(success)); 
      });

  }).catch((error) => { console.log(error) });
  }   
facebook登录():承诺{
返回此.facebook.login(['email'])
。然后(响应=>{
const facebookCredential=firebase.auth.FacebookAuthProvider
.credential(response.authResponse.accessToken);
firebase.auth().signInWithCredential(facebookCredential)
.然后(成功=>{
log(“Firebase成功:+JSON.stringify(成功));
});
}).catch((错误)=>{console.log(错误)});
}   
我是这样解决的:

signWithFacebook() {
let provider = new firebase.auth.FacebookAuthProvider();

firebase.auth().signInWithRedirect( provider ).then(
  () => {
    firebase.auth().getRedirectResult().then(
      data => alert(data)
    );
  }
)
}

此功能将打开本机Facebook应用程序,当用户登录时,Facebook返回用户数据。。。之后,您可以这样做:(使用AngularFireDatabase)


它在浏览器中打开。我尝试了另一种方法,但通过这种方式将用户发送到firestore:this.afs.collection(“userr”).doc(“uid”).set(userr);现在工作正常,但没有将文档保存为uidWell,您可以使用:angularfire2中的AngularFireDatabase并执行如下操作:构造函数(私有afDB:AngularFireDatabase){}this.afDB.database.ref('users').child('userUID').set(userObject);用户将保存在用户的文档中,其密钥将是uuid
const user = {...data from Facebook}
this.afDB.list("YourDocumentName").push(user);