吸气剂';代币';使用facebook登录名在空firebase auth上调用-flatter
我正在尝试使用facebook登录Firebase 我正在使用firebaseauth:0.7.0和Flatter\u facebook\u登录: 以下是我的facebook登录功能:吸气剂';代币';使用facebook登录名在空firebase auth上调用-flatter,firebase,flutter,firebase-authentication,facebook-login,Firebase,Flutter,Firebase Authentication,Facebook Login,我正在尝试使用facebook登录Firebase 我正在使用firebaseauth:0.7.0和Flatter\u facebook\u登录: 以下是我的facebook登录功能: startFacebookLogin() async { var facebookLogin = FacebookLogin(); var result = await facebookLogin .logInWithReadPermissions(['email', 'pub
startFacebookLogin() async {
var facebookLogin = FacebookLogin();
var result = await facebookLogin
.logInWithReadPermissions(['email', 'public_profile']);
FacebookAccessToken myToken = result.accessToken;
AuthCredential credential =
FacebookAuthProvider.getCredential(accessToken: myToken.token);
FirebaseUser firebaseUser =
await FirebaseAuth.instance.signInWithCredential(credential);
createProfile(user);
}
这里我得到了一个错误:
E/flutter (19097): [ERROR:flutter/shell/common/shell.cc(186)] Dart Error: Unhandled exception:
E/flutter (19097): NoSuchMethodError: The getter 'token' was called on null.
E/flutter (19097): Receiver: null
E/flutter (19097): Tried calling: token
E/flutter (19097): #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
E/flutter (19097): #1 _SignUpFirst.startFacebookLogin (package:tripmate/pages/signup_first.dart:40:65)
E/flutter (19097): <asynchronous suspension>
E/flutter (19097): #2 _SignUpFirst.build.<anonymous closure> (package:tripmate/pages/signup_first.dart:254:27)
E/flutter (19097): #3 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
E/flutter (19097): #4 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
E/flutter (19097): #5 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
E/flutter (19097): #6 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
E/flutter (19097): #7 TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)
E/flutter (19097): #8 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
E/flutter (19097): #9 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
E/flutter (19097): #10 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
E/flutter (19097): #11 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:180:19)
E/flutter (19097): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22)
E/flutter (19097): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7)
E/flutter (19097): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
E/flutter (19097): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
E/flutter (19097): #16 _invoke1 (dart:ui/hooks.dart:173:13)
E/flutter (19097): #17 _dispatchPointerDataPacket (dart:ui/hooks.dart:127:5)
I/System.out(19097): (HTTPLog)-Static: isSBSettingEnabled false
I/System.out(19097): (HTTPLog)-Static: isSBSettingEnabled false
E/flatter(19097):[错误:flatter/shell/common/shell.cc(186)]省道错误:未处理的异常:
E/flatter(19097):NoSuchMethodError:对null调用了getter“token”。
E/颤振(19097):接收器:空
E/Flatter(19097):尝试呼叫:令牌
E/flatter(19097):#0 Object.noSuchMethod(dart:core/runtime/libobject_patch.dart:50:5)
E/flatter(19097):#1 SignUpFirst.startFacebookLogin(包:tripmate/pages/SignUpFirst.dart:40:65)
E/颤振(19097):
E/flatter(19097):#2#SignUpFirst.build。(套餐:tripmate/pages/signup_first.省道:254:27)
E/Flatter(19097):#3(InkResponse Estate.)(handleTap)(包装:Flatter/src/material/InkWell.省道:507:14)
E/颤振(19097):#4#InkResponseEstate.build。(包装:颤振/src/材料/墨水井。省道:562:30)
E/flatter(19097):#5手势识别器.invokeCallback(包:flatter/src/signatures/recognizer.dart:102:24)
E/flatter(19097):#6 TapGestureRecognitor.#检查(软件包:flatter/src/signatures/tap.dart:242:9)
E/flatter(19097):#7 TapGestureRecognitor.handlePrimaryPointer(包:flatter/src/signatures/tap.dart:175:7)
E/Flatter(19097):#8 PrimaryPointerGestureRecognizer.handleEvent(包:flatter/src/signatures/recognizer.dart:315:9)
E/flatter(19097):#9点路由器。#调度(包:flatter/src/signatures/pointer#router。dart:73:12)
E/flatter(19097):#10 PointerRouter.route(包:flatter/src/signatures/pointer_router.dart:101:11)
电子/颤振(19097):#11#WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent(包:颤振/src/手势/binding.dart:180:19)
E/flatter(19097):#12_WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent(包:flatter/src/signatures/binding.dart:158:22)
E/Flatter(19097):#13#WidgetsFlutterBinding&BindingBase&GestureBinding.#handlePointerEvent(包装:Flatter/src/手势/绑定。省道:138:7)
电子/颤振(19097):#14#WidgetsFlutterBinding&BindingBase&GestureBinding.#flushPointerEventQueue(包装:颤振/src/手势/binding.省道:101:7)
E/flatter(19097):#15#WidgetsFlutterBinding&BindingBase&GestureBinding.#handlePointerDataPacket(packet:flatter/src/signatures/binding.dart:85:7)
E/颤振(19097):#16_调用1(省道:ui/钩子。省道:173:13)
E/flatter(19097):#17"调度指针数据包(dart:ui/hooks.dart:127:5)
I/System.out(19097):(HTTPLog)-静态:isSBSettingEnabled false
I/System.out(19097):(HTTPLog)-静态:isSBSettingEnabled false
任何人请帮我解决这个问题。您应该在验证之前检查登录响应状态:
var fbLogin = FacebookLogin();
var result =
await fbLogin.logInWithReadPermissions(['email', 'public_profile']);
if (result.status == FacebookLoginStatus.loggedIn) {
FacebookAccessToken myToken = result.accessToken;
AuthCredential credential =
FacebookAuthProvider.getCredential(accessToken: myToken.token);
var user = await FirebaseAuth.instance.signInWithCredential(credential);
}
另外,尝试将firebase\u auth
更新为最新版本(目前为0.8.1+4)