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

Google Sheet脚本调用BigQuery时无Drive范围OAuth令牌错误的解决咨询

解决BigQuery: No OAuth token with Google Drive scope was found错误

这个错误我之前帮同事排查过,核心原因是你的脚本缺少了Google Drive的OAuth权限范围——BigQuery和Google Sheet交互时,需要同时验证BigQuery查询权限和Drive资源访问权限,而旧脚本的权限配置里没有包含Drive相关的授权。下面是具体的解决步骤:

1. 补充OAuth权限范围到脚本清单

  • 打开你的Google Sheet,点击顶部菜单的「工具」>「脚本编辑器」
  • 点击左侧边栏的「项目设置」(齿轮图标)
  • 勾选页面底部的「显示"appsscript.json"清单文件」选项
  • 回到脚本编辑器的文件列表,打开appsscript.json文件
  • 在oauthScopes数组中,添加Drive相关的权限,同时保留原有的BigQuery权限。最终的配置应该类似这样:
    {
      "timeZone": "Asia/Shanghai",
      "dependencies": {},
      "oauthScopes": [
        "https://www.googleapis.com/auth/bigquery",
        "https://www.googleapis.com/auth/drive"
      ],
      "exceptionLogging": "STACKDRIVER"
    }
    

    如果你只想让脚本访问当前Sheet,可以用更精细的https://www.googleapis.com/auth/drive.file权限,比全Drive权限更安全。

  • 保存文件,关闭脚本编辑器再重新打开

2. 重新授权脚本权限

  • 回到你的Google Sheet,重新运行拉取BigQuery数据的脚本
  • 此时会弹出权限请求窗口,点击「允许」
  • 如果遇到「此应用未验证」的提示,别慌——这是因为你的脚本是个人开发的,Google没有官方验证。点击「高级」>「转到[你的脚本名称](不安全)」,然后完成授权即可

3. 额外排查要点

  • 确保你的Google账号同时拥有BigQuery数据集的查询权限和当前Sheet的编辑权限
  • 检查脚本中是否指定了正确的Sheet ID或范围,避免因资源不存在导致的权限验证失败
  • 如果脚本里用了BigQueryService初始化代码,确认没有手动限制权限范围,保持默认的授权流程即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:10:01