共享云端硬盘与 My Drive API 的差异

共享云端硬盘采用“我的云端硬盘”中的 不同组织、共享和所有权模式因此,某些“我的云端硬盘”操作不允许对共享云端硬盘中的内容执行。本文档简要介绍了共享云端硬盘特有的 API 差异。

Files 资源

系统只会为位于共享云端硬盘的文件填充以下字段:

  • hasAugmentedPermissions - 是否向任何用户授予了直接此文件的文件访问权限。
  • capabilities/canAddFolderFromAnotherDrive - 当前用户是否可以将其他云端硬盘(其他共享云端硬盘或“我的云端硬盘”)中的文件夹添加到此文件夹。
  • capabilities/canDeleteChildren - 当前用户是否可以删除此文件夹的子级。
  • capabilities/canMoveChildrenOutOfDrive - 当前用户是否可以将此文件夹的子文件夹移出共享云端硬盘。
  • capabilities/canMoveChildrenWithinDrive - 当前用户是否可以在共享云端硬盘中移动此文件夹的子文件夹。
  • capabilities/canMoveItemWithinDrive - 当前用户是否可以在共享云端硬盘中移动此共享云端硬盘内容。
  • capabilities/canReadDrive - 当前用户是否拥有对该文件所属共享云端硬盘的读取权限。
  • capabilities/canTrashChildren - 当前用户是否可以将此文件夹的子文件夹移入回收站。
  • driveId - 文件所在共享云端硬盘的 ID。
  • trashingUser - 如果文件已明确移入回收站,则删除该文件的用户。
  • trashedTime - 将内容放入回收站的时间。

对于位于共享云端硬盘中的文件,系统不会填充以下字段:

  • permissions - 由于共享云端硬盘 ACL 的潜在大小,因此权限不会作为文件的一部分返回。使用支持分页的 permissions.list 方法,您可以列出共享云端硬盘中的文件或共享云端硬盘本身的权限。
  • ownersownerNamesownedByMe - 共享云端硬盘中的文件归共享云端硬盘所有,而非个人用户。
  • folderColorRgb - 无法单独为文件夹着色
  • shared - 共享云端硬盘中的所有内容均已共享。
  • writersCanShare - 目前无法按角色在共享云端硬盘中限制共享。

仅当用户被授予对某项内容的文件访问权限时,才会设置以下字段:

  • sharedWithMeDate
  • sharingUser

在共享云端硬盘中使用以下字段时需要特别注意:

  • parents.isRoot - 此字段仅适用于“我的云端硬盘”根文件夹;对于共享云端硬盘顶级文件夹,则为 false。
  • parents - 如果发出请求的用户不是共享云端硬盘的成员,并且无权访问父级,则父级不会显示在父级列表中。此外,除了顶级文件夹之外,如果文件位于共享云端硬盘中,则父级列表必须只包含一项。

  • capabilities/canRemoveChildren - 使用 capabilities/canDeleteChildrencapabilities/canTrashChildren

Permissions 资源

只有位于共享云端硬盘的文件才会填充 permissionDetails 字段。此字段是一个汇总的权限列表,其中包含该共享云端硬盘文件本身或由其继承的权限。此字段是仅限输出的字段,且仅适用于共享云端硬盘内容。此外,

  • 定义了 organizerfileOrganizer 这两个新角色。
  • permissions.list 现在支持分页。

Changes 资源

共享云端硬盘的 Changes 资源中提供了以下新字段:

  • changeType - 更改的类型。可能的值包括 filedrive
  • driveId - 与此更改相关联的共享云端硬盘的 ID。
  • drive - 共享云端硬盘的更新状态。如果 changeTypedrive 且用户仍然是共享云端硬盘的成员,则此对象存在。

对于需要与共享云端硬盘同步内容或跟踪活动的应用,可能需要进行其他更改。如需了解详情,请参阅跟踪用户和共享云端硬盘的更改