Flutter Dart Firebase linkWithCredential无法获得displayName和photoUrl吗?

时间:2020-05-29 13:40:56

标签: flutter dart facebook-login

Flutter dart firebase linkWithCredential无法获得displayName和photoUrl吗?如何获取displayName和photoUrl?

pub软件包使用: flutter_facebook_login

  static Future<Map<String, dynamic>> facebookLogin() async {
    try {
      final result = await _facebookLogin.logIn(['email']);

      switch (result.status) {
        case FacebookLoginStatus.cancelledByUser:
          print("FacebookLoginStatus: cancelledByUser");
          // Toast.showMessage(ToastType.loginCancel);
          return RequestHandler.isError(result.errorMessage);
          break;
        case FacebookLoginStatus.error:
          print("FacebookLoginStatus: error");
          // Toast.showMessage(ToastType.loginFail);
          return RequestHandler.isError(result.errorMessage);
          break;
        case FacebookLoginStatus.loggedIn:
          print("FacebookLoginStatus: loggedIn");
          AuthCredential credential = FacebookAuthProvider.getCredential(
            accessToken: result.accessToken.token
          );


          AuthResult result = await _firebaseUser.linkWithCredential(credential).timeout(Duration(seconds: _timeout));
          _firebaseUser = result.user;
          print(_firebaseUser.photoUrl);    // null
          print(_firebaseUser.displayName); // null
          print(_firebaseUser.email);         
          print(_firebaseUser.uid);           


          return RequestHandler.isSuccess({});
          break;
      }
    } catch(err) {
      return RequestHandler.isError(err);
    }
  }

0 个答案:

没有答案