【发布时间】:2019-11-09 00:53:48
【问题描述】:
有没有一种方法可以识别 Google 云端硬盘中具有唯一权限的所有文件/文件夹,无论是“我的云端硬盘”还是“共享/团队云端硬盘”?例如:
- 有人选择了一个文件/文件夹并获得了一个可共享的链接
- 已明确授予人们访问权限?
我查看了DriveApp 文档,但getEditors 和getViewers 也显示了继承访问权限。
【问题讨论】:
-
也检查驱动 api
有没有一种方法可以识别 Google 云端硬盘中具有唯一权限的所有文件/文件夹,无论是“我的云端硬盘”还是“共享/团队云端硬盘”?例如:
我查看了DriveApp 文档,但getEditors 和getViewers 也显示了继承访问权限。
【问题讨论】:
这个怎么样?您可以尝试使用 Drive API:
function getperms(){
var files = Drive.Files.list({supportsAllDrives:'true', q:'trashed = false'}).items;
for (var i = 0; i < files.length; i++){
var perms = Drive.Permissions.list(files[i].id).items;
Logger.log("=========FILE=========");
Logger.log("File id: " + files[i].id + " File name: " + files[i].title);
Logger.log("=========Permissions=========");
for (var x = 0; x < perms.length; x++){
Logger.log("Role: " + perms[x].role + " Email: " + perms[x].emailAddress);
}
}
}
设置if 条件以避免您自己的电子邮件可能会很有趣,因为它会返回所有文件的所有权限,包括您的。您还可以搜索特定的电子邮件。
另外,请查看 File 和 Permissions 资源表示以查看每个项目的所有项目。
【讨论】: