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

如何重置Google Drive所有文件夹、子文件夹及文件的权限为受限状态

Google Drive全量文件/文件夹权限重置为「restricted(受限)」状态解决方案

操作提示:请先对重要文件进行独立备份,建议先选中单个测试文件夹修改脚本启动路径,验证效果后再全量执行,避免误操作影响文件访问。

操作步骤

  • 打开Google Apps Script控制台,新建空白项目,删除编辑区默认生成的所有代码
  • 点击编辑器左侧「服务」栏的「+」按钮,找到「Drive API」,选择V3版本添加到项目中
  • 将如下代码粘贴到编辑区:
// 递归重置Drive所有文件/文件夹权限为受限状态
function resetAllDrivePermissionsToRestricted() {
  // 遍历当前文件夹下所有子文件夹、文件
  function processFolder(folder) {
    // 处理当前文件夹权限
    clearNonOwnerPermissions(folder);
    // 遍历处理子文件夹
    const subFolders = folder.getFolders();
    while (subFolders.hasNext()) {
      processFolder(subFolders.next());
    }
    // 遍历处理当前文件夹下的所有文件
    const files = folder.getFiles();
    while (files.hasNext()) {
      clearNonOwnerPermissions(files.next());
    }
  }

  // 移除指定文件/文件夹的所有非所有者权限,自动设置为受限状态
  function clearNonOwnerPermissions(resource) {
    const resourceId = resource.getId();
    // 获取所有权限列表
    const permissionList = Drive.Permissions.list(resourceId, {
      supportsAllDrives: true
    }).permissions;
    // 遍历删除除所有者外的所有权限
    permissionList.forEach(perm => {
      if (perm.role !== 'owner') {
        Drive.Permissions.remove(resourceId, perm.id, {
          supportsAllDrives: true
        });
      }
    });
  }

  // 默认从Drive根目录开始执行,若需要指定特定文件夹,替换为对应文件夹ID即可
  const root = DriveApp.getRootFolder();
  processFolder(root);
}
  • 点击编辑区上方的保存按钮,自定义项目名称后,点击「运行」按钮
  • 首次运行需要完成账号授权:遇到「Google未验证应用」提示时,点击「高级」-「继续访问[自定义的项目名]」,按照提示完成Drive访问授权即可
  • 脚本自动后台执行,文件数量较多时可能需要等待数分钟到数十分钟不等,若触发执行超时,重新点击运行即可,脚本不会重复处理已完成权限重置的文件

方案优势

  • 无文件删除风险:仅做权限修改操作,不会删除、移动任何文件,也不会修改文件内容
  • 自动级联处理:递归遍历所有层级的子文件夹、文件,无需手动逐层级调整
  • 适配多场景:支持个人Drive、共享Drive的批量权限重置,仅需修改启动执行的根目录参数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:27:02