Google Drive API删除My Drive文件夹文件:解决Team Drive ID适配问题
解决Chromebox用户My Drive共享文件夹文件每日删除的问题
嘿,我来帮你搞定这个麻烦事!针对你提到的Chromebox用户将文件下载到My Drive共享文件夹、需要每日自动删除的需求,这里有几个实用的解决方案:
方案1:获取My Drive共享文件夹的ID
其实My Drive里的文件夹和Team Drive一样,也是有专属ID的,获取方法超简单:
- 打开浏览器,进入你创建的那个全员共享文件夹
- 看浏览器地址栏,链接格式是
https://drive.google.com/drive/folders/[文件夹ID],把/folders/后面那串字母数字组合复制下来,这就是你的My Drive文件夹ID - 把原来脚本里的Team Drive ID替换成这个ID,只要脚本拥有该文件夹的编辑权限,就能正常执行删除操作了
方案2:通过文件夹名称/路径定位(无需ID)
如果不想找ID,用Google Apps Script的话可以直接通过名称或路径定位文件夹,示例代码如下:
function deleteDailyFiles() { // 通过名称定位共享文件夹(如果有重名建议用路径) var folder = DriveApp.getFoldersByName("你的共享文件夹名称").next(); // 或者从My Drive根目录精准定位 // var rootFolder = DriveApp.getRootFolder(); // var folder = rootFolder.getFoldersByName("你的共享文件夹名称").next(); // 获取文件夹内所有文件 var files = folder.getFiles(); // 遍历删除每个文件 while (files.hasNext()) { var file = files.next(); file.setTrashed(true); // 移到回收站,也可以用file.remove()直接永久删除 } }
写完脚本后,记得设置一个时间驱动触发器,让它每天固定时间(比如下班之后)自动运行。
方案3:确认Chrome下载设置与权限
再检查一下你的共享文件夹确实在Chrome下载设置里被选为默认下载位置,并且所有Chromebox用户都有该文件夹的写入权限——这样他们的下载文件才会正确同步到这个文件夹里,脚本也能顺利找到并删除。
小提醒
- 确保运行脚本的Google账号拥有该共享文件夹的编辑权限,否则无法执行删除操作
- 用
setTrashed(true)会先把文件移到回收站,比file.remove()直接永久删除更安全,万一误删还能恢复
内容的提问来源于stack exchange,提问作者davidb
相关产品推荐
相关产品推荐

