管理访问权限受限和访问权限广泛的文件夹

有权访问某个文件夹的每位用户也有权访问该文件夹中的所有内容。这样一来,您就可以轻松了解哪些用户有权访问层次结构中的内容,这种访问权限称为广泛访问权限。“我的云端硬盘”和共享云端硬盘中都存在这种访问权限行为。

在推出访问权限受限的文件夹后,它们成为唯一例外,允许在“我的云端硬盘”和共享云端硬盘中限制对特定子文件夹的访问权限。

本文档介绍了如何在 Google 云端硬盘中管理访问权限受限的文件夹和广泛访问权限的文件夹。

访问权限受限的文件夹简介

仅允许特定用户能够访问文件夹。

受限访问权限的文件夹可让您将文件夹的访问权限限制为特定用户。只有您直接添加到文件夹权限中的用户才能打开该文件夹并访问其内容。通过父文件夹的访问权限继承了“我的云端硬盘”共享文件夹或共享云端硬盘文件夹访问权限的用户可以在云端硬盘中看到受限文件夹,但无法打开该文件夹。此功能可更好地统一“我的云端硬盘”和共享云端硬盘中项目的共享行为,让您可以将包含敏感内容的文件夹与更广泛共享的内容一起整理。

“我的云端硬盘”和共享云端硬盘中都有访问权限受限的文件夹。在“我的云端硬盘”中,拥有owner角色的用户可以随时访问受限访问权限的文件夹。在共享云端硬盘中,拥有organizer角色的用户可以随时访问受限访问权限的文件夹。如需修改文件夹用户列表,无需任何特殊权限。可以共享文件夹的角色可以更新成员列表。如需详细了解角色和权限,请参阅角色和权限以及共享云端硬盘概览

请注意,虽然文件夹也是一种文件,但访问权限限制功能不适用于文件。

为文件夹设置访问权限限制

虽然拥有直接文件夹权限的用户可以访问受限访问权限的文件夹,但只有“我的云端硬盘”中的 owner 角色和共享云端硬盘中的 organizer 角色才能启用或停用受限访问权限。

此外,如果“我的云端硬盘”中具有 writer 角色的用户将 files 资源上的 writersCanShare 布尔值字段设置为 true,他们也可以开启或关闭此功能。

如需限制对文件夹的访问权限,请将 files 资源中的布尔值 inheritedPermissionsDisabled 字段设置为 true。当该字段为 true 时,只有 owner 角色、organizer 角色以及具有直接文件夹权限的用户才能访问该文件夹。

如需重新启用继承的权限,请将 inheritedPermissionsDisabled 设置为 false

验证限制对文件夹的访问权限的权限

如需检查是否可以限制对文件夹的访问权限,请检查 files 资源上 capabilities.canDisableInheritedPermissionscapabilities.canEnableInheritedPermissions 字段的布尔值。这些设置用于确认您是否有权通过 inheritedPermissionsDisabled 字段限制对文件夹的访问权限。

如需详细了解 capabilities,请参阅了解文件功能

列出访问权限受限的文件夹的子项

如需检查是否可以列出文件夹的子项,请使用 capabilities.canListChildren 布尔值字段。

如果相应项不是文件夹,或者请求者对文件夹内容的访问权限已通过将 inheritedPermissionsDisabled 设置为 false 而移除,则返回值始终为 false

如果您的文件夹内容访问权限被移除,您仍然可以使用 files.get()files.list() 方法访问文件夹元数据。如需确认访问权限是否受限,请检查响应正文,看看相应项是否为 MIME 类型application/vnd.google-apps.folder 的文件夹,以及 capabilities.canListChildren 字段是否设置为 false。如果您尝试列出此类文件夹的子项,结果始终为空。

访问具有访问权限限制的文件夹的元数据

如果您无权访问文件夹内容,则可以查看访问权限受限的文件夹的元数据

使用 permissions 资源确定用户访问权限时,仅授予元数据访问权限的“我的云端硬盘”和共享云端硬盘文件夹会在响应正文中包含以下值:inheritedPermissionsDisabled=trueview=metadata。角色始终设置为 readerview 字段仅针对属于 view 的权限填充。如需了解详情,请参阅视图

permissionDetails 字段中的所有条目都将 inherited 字段设置为 true,以表示相应权限是继承的,并且尚未授予对文件夹内容的直接访问权限。

如需授予对文件夹内容和元数据的访问权限,请将 inheritedPermissionsDisabled 字段设置为 false,或将角色更新为 reader 或更高级别。

最后,如果先通过关闭文件夹的继承功能 (inheritedPermissionsDisabled=true) 来限制权限,然后将权限直接添加回文件夹,则响应正文中的值会变为 inheritedPermissionsDisabled=true,且 view 字段处于未设置状态。如果文件夹位于共享云端硬盘中,则 permissionDetails 列表会包含一个条目,其中 inherited 字段设置为 false,表示相应权限不是继承的。与其他权限一样,此权限可授予对文件夹内容和元数据的访问权限。

删除访问权限受限的文件夹

您可以使用 files 资源上的 files.delete() 方法删除访问权限受限的文件夹。

在“我的云端硬盘”中,只有内容的所有者才能删除文件夹层次结构。 如果用户删除的层次结构中包含访问权限受限且归他人所有的文件夹,这些文件夹会移至所有者的“我的云端硬盘”。

如果用户拥有 owner 角色,则整个层次结构都会被删除。

在共享云端硬盘中,即使层次结构包含访问权限受限的文件夹,organizer 角色也可以删除这些层次结构。如果 fileOrganizer 角色删除包含访问权限受限的文件夹的层次结构,结果取决于他们是否已重新添加为访问权限受限的文件夹的 fileOrganizer。如果存在,则整个层次结构都会被删除。否则,访问权限受限的文件夹会移至共享云端硬盘的根文件夹。