firebase - Firebase Facebook 个人资料图片 (photoURL) 显示标准 Facebook 个人资料图片
问题描述
我正在互联网上寻找我的问题的答案,但是,我无法找到答案。因此,我向你们伸出援手:
我的问题:当我通过 Firebase(使用 flutter_facebook_login 插件)登录 Facebook 时,我可以完美地检索除 photoURL 之外的所有数据。每当我尝试在我的 UI 中显示个人资料图片时,我都会得到 facebook 的标准个人资料图片,而不是用户当前使用的图片。有什么想法可以改变吗?提前致谢!
我用来显示图片的代码:
Image(image: NetworkImage(widget.user.photoUrl)
我自己编码的 Facebook 登录代码:
class AuthService {
final _auth = FirebaseAuth.instance;
Stream<FirebaseUser> get currentUser => _auth.onAuthStateChanged;
Future<AuthResult> signInWithCredential(AuthCredential credential) =>
_auth.signInWithCredential(credential);
}
final facebookLogin = FacebookLogin();
final authService = AuthService();
Future<FirebaseUser> loginFacebook() async {
facebookLogin.loginBehavior = FacebookLoginBehavior.webViewOnly;
final result =
await facebookLogin.logInWithReadPermissions(['email', 'public_profile']);
switch (result.status) {
case FacebookLoginStatus.loggedIn:
final FacebookAccessToken accessToken = result.accessToken;
print('''
Logged in!
Token: ${accessToken.token}
User id: ${accessToken.userId}
Expires: ${accessToken.expires}
Permissions: ${accessToken.permissions}
Declined permissions: ${accessToken.declinedPermissions}
''');
break;
case FacebookLoginStatus.cancelledByUser:
print('Login cancelled by the user.');
break;
case FacebookLoginStatus.error:
print('Something went wrong with the login process.\n'
'Here\'s the error Facebook gave us: ${result.errorMessage}');
break;
}
// define Userdata
//final result = await facebookLogin.logInWithReadPermissions(['email']);
final FacebookAccessToken fbToken = result.accessToken;
final AuthCredential credential =
FacebookAuthProvider.getCredential(accessToken: fbToken.token);
final _result = await authService.signInWithCredential(credential);
print('${_result.user}');
return _result.user;
}
解决方案
推荐阅读
- bash - 如何在我的 .inputrc 中为 readline 使用 option-delete
- c++ - 如何将 std::array 实例地址作为参数传递给 std::min_element?
- python - 构建字典,其值为单词的平均长度
- erlang - 在 erlang 中使用列表理解增加列表大小
- python - Merging results from Prediction to Original Data frame?
- c# - 使用用户输入计算阶乘 - 控制台应用程序
- vb.net - 在 List(Of List(Of Integer)) 中查找值
- nginx - 通过 chef 动态加载 nginx 第三方模块
- networking - 与网络相关的一切似乎都已关闭 Ubuntu 16.04
- r - 如何使 geom_rect 在 R 中随频率着色?