通过Google Apps Script自动清理谷歌云端硬盘回收站失败求助
谷歌云端硬盘回收站自动清理失败的原因及修复方案
问题根源
你使用的Drive.Files.emptyTrash()是Drive API v2的旧语法,目前谷歌已主推API v3版本,v2部分接口的权限逻辑、调用规则已调整,再加上可能存在权限配置疏漏,导致脚本执行失败。
修复步骤
1. 替换为Drive API v3兼容代码
直接替换原有脚本为以下内容:
function emptyTrash() { Drive.Files.emptyTrash({supportsAllDrives: true}); }
- 新增的
supportsAllDrives: true参数,可兼容共享云端硬盘的回收站清理需求,若仅需清理个人云端硬盘,也可以去掉该参数。
2. 确认API启用与权限配置
- 打开脚本编辑器,点击左侧菜单的「服务」,确认Drive API已启用,且版本选择「v3」;
- 首次手动运行脚本时,会弹出权限授权请求,选择目标谷歌账号完成授权。若出现「此应用未验证」提示,点击「高级」→「转到XXX(不安全)」继续授权(自定义脚本未经过谷歌官方验证,属于正常情况)。
3. 检查触发器设置
- 创建每小时触发器时,确保触发的函数为
emptyTrash,时区、运行周期设置正确; - 触发器的授权账号需与脚本授权账号保持一致。
故障排查补充
若仍未解决,可查看脚本执行日志(脚本编辑器→「查看」→「日志」):
- 若提示权限错误,重新执行授权流程;
- 若提示API调用错误,再次确认Drive API v3是否正确启用。
内容的提问来源于stack exchange,提问作者realmen80
相关产品推荐
相关产品推荐

