【问题标题】:How to get Facebook public profile data using angularfire auth, firebase in an Ionic 2 App如何在 Ionic 2 App 中使用 angularfire auth、firebase 获取 Facebook 公共个人资料数据
【发布时间】:2017-03-21 05:00:27
【问题描述】:

我正在尝试从用户的 Facebook 页面获取数据,这些用户使用 Facebook 在我的应用中登录/注册,例如生日、图片、性别等。现在我只是在我的数据库中添加任意值,但我想获取他们的性别、个人资料图片网址和生日(如果可能)。对于我的生活,我不知道该怎么做。到目前为止,这是我所拥有的:

loginWithFacebook() {
return Observable.create(observer => {
  if (this.platform.is('cordova')) {
    Facebook.login(['public_profile', 'email']).then(facebookData => {
      console.log(facebookData);
      let provider = firebase.auth.FacebookAuthProvider.credential(facebookData.authResponse.accessToken);
      firebase.auth().signInWithCredential(provider).then(firebaseData => {
        this.af.database.list('users').update(firebaseData.uid, {
          name: firebaseData.displayName,
          email: firebaseData.email,
          provider: 'facebook',
          keys: firebaseData.keys,
          birthday: firebaseData.birthday,
          snapchat: firebaseData.snapchat,
          gender: firebaseData.gender,
          image: firebaseData.photoURL
        });

        observer.next();
      });
    }, error => {
      observer.error(error);
    });
  } else {
    this.af.auth.login({
      provider: AuthProviders.Facebook,
      method: AuthMethods.Popup,
    }).then((facebookData) => {
      console.log(facebookData);
      this.af.database.list('users').update(facebookData.auth.uid, {
        name: facebookData.auth.displayName,
        email: facebookData.auth.email,
        provider: 'facebook',
        keys: 5,
        birthday: 'w',
        snapchat: 'w',
        gender: 'male',
        image: facebookData.auth.photoURL
      });
      observer.next();
    }).catch((error) => {
      console.info("error", error);
      observer.error(error);
    });
  }
});
}

【问题讨论】:

    标签: facebook firebase ionic2 firebase-authentication angularfire


    【解决方案1】:

    Firebase 不支持此功能。您必须对 Facebook 进行额外的 api 调用才能使用 Facebook 访问令牌获取该数据(确保在获取该访问令牌时提示所需的范围)。

    AJAX GET 'https://graph.facebook.com/me?access_token=' + credential.accessToken

    【讨论】:

      猜你喜欢
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      相关资源
      最近更新 更多