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

如何为Google Cloud默认凭据授予Google Drive/Sheets访问权限?

解决GAE云端默认凭据的Drive/Sheets访问权限问题

问题根源

本地环境通过gcloud auth application-default login指定scopes,使用的是个人用户凭据,已手动授权Drive访问;但云端GAE运行时依赖项目的默认服务账号(格式:[项目ID]@appspot.gserviceaccount.com),该账号默认未获得Drive API访问权限,导致BigQuery无法获取Drive凭据触发403错误。

解决步骤

1. 启用Drive与Sheets API

进入Google Cloud控制台的API和服务 > 库,搜索并启用以下API:

  • Google Drive API
  • Google Sheets API

2. 为默认服务账号分配Drive权限

方式一:IAM全局角色授权(适用于需访问多个Drive文件)

在IAM与管理员 > IAM页面找到默认服务账号,点击「编辑」,添加对应角色:

  • Drive 文件查看者:仅需读取Sheets数据时使用
  • Drive 文件编辑者:需要修改Sheets时使用
  • Drive 管理员:最高权限(生产环境谨慎使用)

方式二:单个Sheets文件共享(更安全,遵循最小权限原则)

打开目标Google Sheets文件,点击右上角「共享」,输入服务账号邮箱,授予「查看者」或更高权限。

3. 配置BigQuery与Drive的关联权限

若通过BigQuery直接引用Sheets作为外部数据源:

  • 创建外部数据源时,勾选「允许BigQuery访问Google Drive文件」
  • 确保服务账号已拥有BigQuery相关权限(如BigQuery 数据查看者、BigQuery 作业用户)

4. 验证权限

重新部署GAE应用后,可通过以下方式确认:

  • 在IAM与管理员 > 权限检查,输入服务账号邮箱及drive.files.read权限,验证授权状态
  • 查看GAE日志,排查是否存在特定文件权限未开放的细节错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:12:47