代码在部分Workspace账号报“Access denied: DriveApp”错误,求排查方案
排查建议
- 检查目标文件夹权限:确认执行代码的账号对
docFolder拥有编辑权限(仅查看权限无法完成移动操作)。可手动在Drive网页端尝试将文件拖入该文件夹,验证基础权限是否正常。 - 核查文件的权限限制:查看
docFile是否设置了禁止移动/复制的权限(右键文件→共享→高级→查看权限设置);若文件属于外部账号,可能存在Workspace跨域权限限制。 - 检查Workspace组织级Drive策略:
- 进入Admin Console的「Drive and Docs」→「Sharing settings」,确认是否限制了内部文件的移动范围(比如禁止移动到特定文件夹组)
- 查看「Apps and extensions」→「Google Workspace Marketplace apps」,确认是否有第三方应用限制了Drive操作权限
- 确认代码运行身份:
- 若直接在脚本编辑器运行,确保当前登录的是目标Workspace账号
- 若通过触发器运行,检查触发器执行身份是「我自己」还是「以用户身份运行」,后者会受对应用户的权限约束
- 测试最小复现脚本:编写最简代码(如仅获取指定文件和文件夹并执行
moveTo)在该账号运行,排除脚本其他逻辑的干扰 - 查看Workspace审计日志:进入Admin Console→「Reporting」→「Audit logs」→「Drive」,搜索该账号的操作记录,获取更详细的权限拒绝原因(如组织策略拦截)
- 验证Drive API状态:虽然使用的是DriveApp,但底层依赖Drive API。检查Admin Console→「Apps and extensions」→「Google Workspace services」中Drive API是否启用,同时确认关联Workspace的Google Cloud Console项目里Drive API未被禁用
内容的提问来源于stack exchange,提问作者Raffi
相关产品推荐
相关产品推荐

