首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >方法未定义为FacebookLogin。

方法未定义为FacebookLogin。
EN

Stack Overflow用户
提问于 2018-12-01 15:55:55
回答 5查看 2.7K关注 0票数 4

伙计们,我为这件事挣扎了一段时间。我的flutter_facebook_package成功地与应用程序连接起来,但出于某种原因,fbLogin.logInWithReadPermissions显示:

代码语言:javascript
运行
复制
[dart] The method 'logInWithReadPermissions' isn't defined for the class 'FacebookLogin'

我是不是错过了得到包裹或者进口更多东西的机会?

代码语言:javascript
运行
复制
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'
                )),
            ),
          ),
        ),
      );
  }
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-12-01 16:40:55

您正在使用自己的类class FacebookLogin,它将类隐藏在

代码语言:javascript
运行
复制
import 'package:flutter_facebook_login/flutter_facebook_login.dart';

重命名小部件类,它就能工作了。

或者,您可以使用

代码语言:javascript
运行
复制
import 'package:flutter_facebook_login/flutter_facebook_login.dart' as fl;
...
fl.FacebookLogin fbLogin = new fl.FacebookLogin();
票数 3
EN

Stack Overflow用户

发布于 2019-11-28 04:54:54

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

票数 18
EN

Stack Overflow用户

发布于 2019-10-24 15:22:41

如果您使用的是flutter_facebook_login 3.0.0,则它们已经删除了不推荐的方法loginWithPublishPermissions,并将loginWithReadPermission重命名为login

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53572521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档