伙计们,我为这件事挣扎了一段时间。我的flutter_facebook_package成功地与应用程序连接起来,但出于某种原因,fbLogin.logInWithReadPermissions显示:
[dart] The method 'logInWithReadPermissions' isn't defined for the class 'FacebookLogin'我是不是错过了得到包裹或者进口更多东西的机会?
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'
)),
),
),
),
);
}
}发布于 2018-12-01 16:40:55
您正在使用自己的类class FacebookLogin,它将类隐藏在
import 'package:flutter_facebook_login/flutter_facebook_login.dart';重命名小部件类,它就能工作了。
或者,您可以使用
import 'package:flutter_facebook_login/flutter_facebook_login.dart' as fl;
...
fl.FacebookLogin fbLogin = new fl.FacebookLogin();发布于 2019-11-28 04:54:54
只需将fbLogin.logInWithReadPermissions(['email']);替换为fbLogin.logIn(['email']);
发布于 2019-10-24 15:22:41
如果您使用的是flutter_facebook_login 3.0.0,则它们已经删除了不推荐的方法loginWithPublishPermissions,并将loginWithReadPermission重命名为login。
https://stackoverflow.com/questions/53572521
复制相似问题