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

如何移除共享Google Drive用户权限?Drive.Permissions.remove调用失败

解决Google Drive共享权限无法移除的问题

你的代码存在几个关键问题导致权限移除失败,下面是修正后的方案:

问题分析

  1. 循环中错误使用了未定义的变量x,应该用循环变量i来遍历权限列表
  2. 调用Drive.Permissions.remove时没有传入正确参数,该方法需要文件ID和权限ID,而非直接使用邮箱
  3. 未处理权限列表为空的边界情况

修正后的代码

function removeUsers() {
  var fileId = "你的Drive文件ID"; 
  var removeEmail = "test@test.com";

  var args = {
    supportsAllDrives: true
  };

  // 获取权限列表,处理空列表情况
  var pList = Drive.Permissions.list(fileId, args);
  var editors = pList.items || [];

  // 遍历权限列表,找到目标邮箱对应的权限ID
  for (var i = 0; i < editors.length; i++) {
    var permission = editors[i];
    if (permission.emailAddress === removeEmail) {
      // 调用移除方法,传入文件ID、权限ID及共享盘支持参数
      Drive.Permissions.remove(fileId, permission.id, args);
      Logger.log("已移除用户 " + removeEmail + " 的权限");
      break; // 找到目标后退出循环,避免重复操作
    }
  }
}

额外注意事项

  • 确保脚本拥有足够权限:需启用Google Drive API,且运行脚本的账号对目标文件有管理权限(如所有者或具备编辑权限的管理员)
  • 若目标用户是文件所有者,无法通过此方法移除,需先转移所有权
  • 如需批量移除多个用户,可将removeEmail改为数组,遍历数组逐一处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 17:37:41