我正在尝试收集来自通过flutter_facebook_login通过Firebase Auth for Flutter成功登录的用户的电子邮件。
用户成功登录,但该对象没有电子邮件。显示名称很好,并且Google的类似成功登录具有email属性。他们删除了所有旧的Facebook登录功能以使用此凭据后,尝试升级。
Future<FirebaseUser> _signInFacebook() async {
final facebookLoginResult = await globals.facebookSignIn
.logInWithReadPermissions(['email', 'public_profile']);
FacebookAccessToken myToken = facebookLoginResult.accessToken;
AuthCredential credential =
FacebookAuthProvider.getCredential(accessToken: myToken.token);
FirebaseUser firebaseUser = await
_auth.signInWithCredential(credential);
print("signed in " + firebaseUser.email);
return firebaseUser;
}
编辑:无论第一个创建帐户是Google还是Facebook,创建的第二个帐户都不会返回firebaseUser.email
。它可以通过firebaseUser.providers[0].email
来使用,但这似乎在整个应用程序中都不可用。