Google Apps Script部署为Sheet插件后触发Drive权限异常如何解决
解决方案
该报错是Google Workspace插件部署时显式OAuth权限声明缺失、部署版本未同步权限配置导致的,按以下步骤操作即可修复:
步骤1:开启清单文件显示
- 打开你的Apps Script项目,点击顶部「项目设置」
- 勾选「在编辑器中显示
appsscript.json清单文件」,返回编辑器即可在根目录看到该配置文件
步骤2:添加Drive权限声明
打开appsscript.json文件,新增/修改oauthScopes字段,添加所需的Drive权限,参考配置如下:
{ "timeZone": "Asia/Shanghai", "dependencies": {}, "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive" ], "runtimeVersion": "V8" }
如果不需要全Drive读写权限,仅需要访问插件操作的文件,也可以替换为https://www.googleapis.com/auth/drive.file权限,权限范围更小更安全。
步骤3:重新部署插件并更新授权
- 点击项目右上角「部署」→「管理部署」
- 编辑当前生效的部署,创建新的版本号后完成发布,不要直接覆盖旧版本
- 到Google Sheet中卸载原有旧版本插件,重新安装新版本,安装时确认权限列表包含Drive相关操作权限
额外排查
如果操作后仍报错,可以检查两项配置:
- 确认代码中调用
DriveApp.getFolderById时,文件夹ID是通过当前Spreadsheet对象动态获取的,不要硬编码固定ID,避免跨用户访问无权限的私有文件夹 - 确认部署插件时的访问范围配置和你的使用场景匹配,若为外部用户使用需要设置为「任何人」,内部使用设置为「仅限组织内用户」即可
内容的提问来源于stack exchange,提问作者Abdalah B
相关产品推荐
相关产品推荐

