You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成Google SignIn始终报错,请求排查指引

Flutter Google登录选中账号后报错排查请求

我正在学习Flutter,尝试基于Firebase实现简易Google登录功能,参考多篇教程编写了如下main.dart代码:

import 'package:flutter/material.dart';
import 'package:google_sign_in/google_sign_in.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  bool _isLoggedIn = false;
  GoogleSignInAccount? _userObj;

  final GoogleSignIn _googleSignIn = GoogleSignIn(scopes: ['email']);

  void _login() async {
    try {
      await _googleSignIn.signIn();
      setState(() {
        _isLoggedIn = true;
        _userObj = _googleSignIn.currentUser;
      });
    } catch (err) {
      print(err);
    }
  }

  void _logout() {
    _googleSignIn.signOut().then((value) {
      setState(() {
        _isLoggedIn = false;
        _userObj = null;
      });
    }).catchError((err) {
      print(err);
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Google Sign In'),
        ),
        body: Center(
          child: _isLoggedIn
              ? Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: [
                    CircleAvatar(
                      backgroundImage: NetworkImage(_userObj!.photoUrl!),
                      radius: 50,
                    ),
                    SizedBox(
                      height: 10,
                    ),
                    Text(
                      'Welcome ${_userObj!.displayName}',
                      style: TextStyle(fontSize: 18),
                    ),
                    SizedBox(
                      height: 10,
                    ),
                    ElevatedButton(
                      onPressed: () {
                        _logout();
                      },
                      child: Text('Logout'),
                    )
                  ],
                )
              : Center(
                  child: ElevatedButton(
                    onPressed: () {
                      _login();
                    },
                    child: Text('Login with Google'),
                  ),
                ),
        ),
      ),
    );
  }
}

页面可正常在模拟器中打开,点击登录按钮后能选择Google账号,但选中账号后始终出现报错:

报错截图

我已更新所有相关依赖包,但因缺乏专业调试经验,该问题阻碍了我理解标准认证流程,恳请提供排查提示。


内容的提问来源于stack exchange,提问作者rudak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:15:05