如何通过脚本删除 google 电子表格的 public 可见性
How to remove public visiblity of a google spreadsheet by script
我想使用脚本删除文件的 public 可见性。
那可能吗?
目的:我想找到文件夹中的所有电子表格并删除 'Public' 属性,因此拥有 link 的任何人都无法访问 URL。只有文件的 editors/viewers 才能访问。
解决方案:
Drive API可以对特定MIME类型下的文件设置特定的权限,可以用这段代码去掉public访问权限,恢复权限设置为Restricted
,即默认值:
function permissions() {
var folder = DriveApp.getFolderById("folder-id-here");
var files = folder.getFilesByType("application/vnd.google-apps.spreadsheet");
while (files.hasNext()) {
filePermission = files.next().setSharing(DriveApp.Access.ANYONE,DriveApp.Permission.NONE)
.setSharing(DriveApp.Access.ANYONE_WITH_LINK,DriveApp.Permission.NONE);
}
}
文件夹 ID 可以在 link 中找到,即 https://drive.google.com/drive/folders/(文件夹 ID)。 application/vnd.google-apps.spreadsheet
是 Google 个表格文件的 MIME 类型。
参考文献:
我想使用脚本删除文件的 public 可见性。 那可能吗? 目的:我想找到文件夹中的所有电子表格并删除 'Public' 属性,因此拥有 link 的任何人都无法访问 URL。只有文件的 editors/viewers 才能访问。
解决方案:
Drive API可以对特定MIME类型下的文件设置特定的权限,可以用这段代码去掉public访问权限,恢复权限设置为Restricted
,即默认值:
function permissions() {
var folder = DriveApp.getFolderById("folder-id-here");
var files = folder.getFilesByType("application/vnd.google-apps.spreadsheet");
while (files.hasNext()) {
filePermission = files.next().setSharing(DriveApp.Access.ANYONE,DriveApp.Permission.NONE)
.setSharing(DriveApp.Access.ANYONE_WITH_LINK,DriveApp.Permission.NONE);
}
}
文件夹 ID 可以在 link 中找到,即 https://drive.google.com/drive/folders/(文件夹 ID)。 application/vnd.google-apps.spreadsheet
是 Google 个表格文件的 MIME 类型。