未定义 FacebookLogin 的方法

Luk*_*zny 4 facebook-login dart flutter

伙计们,我已经为此苦苦挣扎了一段时间。我的 flutter_facebook_package 已成功连接到该应用程序,但由于某种原因fbLogin.logInWithReadPermissions显示:

[dart] The method 'logInWithReadPermissions' isn't defined for the class 'FacebookLogin'
Run Code Online (Sandbox Code Playgroud)

我是否错过了获取包裹或导入更多内容的任何内容?

import 'package:flutter/material.dart';

//facebook signUp
import 'package:flutter_facebook_login/flutter_facebook_login.dart';
import 'package:firebase_auth/firebase_auth.dart';

class FacebookLogin extends StatefulWidget {
  @override
  _FacebookLoginState createState() => _FacebookLoginState();
}

class _FacebookLoginState extends State<FacebookLogin> {

  FacebookLogin fbLogin = new FacebookLogin();

  @override
  Widget build(BuildContext context) {
    return 
      Container(
        height: 40.0,
        child: Material(
          borderRadius: BorderRadius.circular(20.0),
          shadowColor: Colors.blueAccent,
          color: Color.fromARGB(255, 76, 112, 166),
          elevation: 7.0,
          child: GestureDetector(
            onTap: () {
              fbLogin.logInWithReadPermissions(['email', 'public_profile']).then((result) {
                switch(result.status) {
                  case FacebookLoginStatus.loggedIn:
                  FirebaseAuth.instance.signInWithFacebook(
                    accessToken: result.accessToken.token
                  ).then((signedInUser) {
                    print('Sighned in as ${signedInUser.displayName}');
                    Navigator.of(context).pushReplacementNamed('/homepage');
                  }).catchError((e) {
                    print(e);
                  });
                }
              })
              .catchError((e) {
                print(e);
              });
            },
            child: Center(
              child: Text('Log in with facebook',
                style: TextStyle(
                  color: Colors.white,
                  fontWeight: FontWeight.bold,
                  fontFamily: 'Monserrat'
                )),
            ),
          ),
        ),
      );
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 18

只需替换fbLogin.logInWithReadPermissions(['email']);fbLogin.logIn(['email']);


thu*_*.92 7

如果您使用的是flutter_facebook_login 3.0.0,他们已删除不推荐使用的方法并重loginWithPublishPermissions命名loginWithReadPermissionlogin.