Google OAuth 2.0 失败,错误 400:某些 client_id 的无效请求,无法登录,因为“应用程序”发送了无效请求

问题描述 投票:0回答:2

我有一个使用 googleapis_auth 1.3.1googleapis 9.2.0 的 Flutter 应用程序。 我做了什么:

  • 启用了 Google 日历 API
  • 将 Flutter 项目连接到 Firebase 并使用基本模板进行设置。

但是我收到以下错误: enter image description here

这是我的代码:

`
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:googleapis/calendar/v3.dart' as cal;
import 'package:url_launcher/url_launcher.dart';
import 'gCalender/calendar_client.dart';
import 'secert.dart';
import 'package:googleapis_auth/auth_io.dart';

void main() async {
  //firebase initialize
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  //google apis init
  var clientID =  ClientId(Secret.getId(),"");
  var scopes = [cal.CalendarApi.calendarEventsScope];
  await clientViaUserConsent(clientID, scopes, prompt).then((AuthClient client) async {
    CalendarClient.calendar = cal.CalendarApi(client);
  });

  
  runApp(const MyApp());
}
void prompt(String url) async {
    if (!await launchUrl(Uri.parse(url))) {
      throw 'Could not launch $url';
    }
}
class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Social Login',
      theme: theme(),
      debugShowCheckedModeBanner: false,
      initialRoute: SplashScreen.routeName,
      // home: const SplashScreen(),
      routes: routes,
    );
  }
}
`

我探索了互联网,但找不到任何解决方案。

flutter firebase oauth-2.0 google-oauth invalid-request-uri
2个回答
1
投票

如果您使用模拟器,请在真实手机中尝试该应用程序,因为有时 Firebase 服务在虚拟手机中无法正常工作


0
投票

就我而言,禁用应用程序检查强制,它会起作用

firebase 应用程序检查

© www.soinside.com 2019 - 2024. All rights reserved.