如何通过Google Apps Script/Drive API移除Drive文件指定共享权限
移除Google Drive文件的两项高级共享权限
你提供的代码仅设置了文件的基础共享规则(任何人可通过链接编辑),要移除图中所示的两项勾选权限(允许编辑者更改权限/共享、允许编辑者删除/组织文件),可通过以下两种方式实现:
一、使用常规DriveApp服务(支持关闭第一项权限)
如果只需关闭「允许编辑者更改权限和共享」选项,可在现有代码基础上补充配置:
function removePermissions() { const fileId = "你的文件ID"; // 替换为目标文件的实际ID const file = DriveApp.getFileById(fileId); // 按需设置基础共享权限(示例为保持任何人可通过链接编辑) file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.EDIT); // 关闭编辑者修改共享权限的开关 file.setShareableByEditors(false); }
二、使用高级Drive服务(支持同时关闭两项权限)
要同时关闭两个勾选项,需先启用Drive API高级服务:
- 在脚本编辑器中点击「服务」→「添加服务」,选择「Drive API」完成添加
- 执行以下代码:
function removeBothPermissions() { const fileId = "你的文件ID"; // 替换为目标文件的实际ID // 同时更新两项权限配置 Drive.Files.update({ writersCanShare: false, // 关闭「允许编辑者更改权限和共享」 writersCanModifyContent: false // 关闭「允许编辑者删除、更改和组织文件」 }, fileId); // 按需保留基础共享规则(若无需可删除此段) const file = DriveApp.getFileById(fileId); file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.EDIT); }
补充说明
writersCanShare: false:禁用编辑者修改文件共享权限的能力writersCanModifyContent: false:仅保留编辑者修改文件内容的权限,禁止其删除、移动或组织文件- 若无需保留「任何人可通过链接编辑」的基础权限,可删除
setSharing相关代码,按需调整为DriveApp.Access.PRIVATE等权限类型
内容的提问来源于stack exchange,提问作者Code Guy
相关产品推荐
相关产品推荐

