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

测试模式下无需验证应用,如何登录并获取Google Drive全部文件?

解决Google Drive测试模式下的OAuth提示与全文件访问问题

一、消除“Google未验证此应用”提示的关键操作

即使添加了测试用户仍出现提示,需逐一确认以下配置:

  • 测试用户邮箱完全匹配:必须使用Google Cloud Console OAuth同意屏幕中添加的完整邮箱地址登录,不能使用别名或账号变体。
  • OAuth同意屏幕模式确认:确保应用处于「测试」模式而非「生产」模式,且drive.readonly权限范围已添加并设为「已授权」(测试模式下无需审核,直接勾选即可)。
  • 清除本地OAuth缓存:安卓/iOS端卸载重装应用或清除账号缓存;Web/桌面端清除浏览器OAuth相关Cookie或重置Google Sign-In本地存储。

二、确保获取Google Drive全部文件的配置

你的代码已使用正确的drive.readonly范围,需补充API调用参数以确保获取所有文件:
修改files.list调用,添加必要参数覆盖默认限制:

drive.FileList? fileList = await driveApi.files.list(
  spaces: "drive",
  corpora: "user", // 明确指定获取当前用户的所有文件
  includeItemsFromAllDrives: true, // 可选:如需访问共享驱动器文件
  supportsAllDrives: true, // 配合共享驱动器参数使用
);

三、代码潜在优化点

  1. GoogleSignIn实例全局化:避免每次登录重复初始化,将实例设为类成员变量:
final GoogleSignIn _googleSignIn = GoogleSignIn.standard(
  scopes: [drive.DriveApi.driveReadonlyScope],
);
  1. 添加登录异常捕获:避免登录失败导致后续代码崩溃:
Future _signinUser() async {
  try {
    account = await _googleSignIn.signIn();
  } catch (e) {
    log("Google Sign-in error: $e");
  }
}

四、测试模式限制说明

测试模式下最多支持100个测试用户,且用户需为Google Cloud Console项目成员或直接添加的邮箱。若提示仍存在,可等待15-30分钟(Google配置存在延迟),或检查OAuth同意屏幕的测试用户列表状态。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:22:21