管理待处理的访问权限提案

访问权限提案是指请求者向审批者提出的授予接收者访问 Google 云端硬盘内容的提案。

审批人可以查看并处理云端硬盘文件中所有未解决的访问权限提案。也就是说,您可以以编程方式查询访问权限提案,然后解决这些提案,从而加快审批流程。审批人还可以汇总查看提案。

Google Drive API 提供了 accessproposals 资源,以便您查看 和解决待处理的访问权限提案。accessproposals 资源的方法适用于文件、文件夹、共享云端硬盘中的文件,但不适用于共享云端硬盘本身。

以下术语是访问权限提案特有的:

  • 请求者:向 云端硬盘内容发起访问权限提案的用户。
  • 接收者:如果 访问权限提案获得批准,则接收者是获得文件额外权限的用户。很多时候,接收者与要求提出者是同一用户,但并非总是如此。
  • 审批人:负责批准(或拒绝)访问权限提案的用户。通常,这是因为他们是文档的所有者,或者他们有权共享文档。

使用 fields 参数

如果您想指定要在响应中返回的字段,可以使用 fields system parameter 设置 accessproposals 资源的任何方法。如果您省略 fields 参数,服务器会返回特定于该方法的默认字段集。如需 返回不同的字段,请参阅返回特定 字段

获取待处理的访问权限提案

如需获取访问权限提案,请对 accessproposals 资源使用 get 方法,并使用 fileIdproposalId 路径参数。如果您不知道提案 ID,可以使用 list pending access 提案 方法。list

列出待处理的访问权限提案

如需列出云端硬盘内容的所有待处理访问权限提案,请对 accessproposals资源调用 list方法,并添加 fileId路径参数。

只有文件的审批者才能列出文件的待处理提案。审批者是指对文件具有 can_approve_access_proposals 功能的用户。如果请求者不是审批者,则会返回空列表。如需详细了解 capabilities,请参阅 了解文件 功能

响应正文包含一个 accessproposals 对象,该对象表示文件上未解决的访问权限提案列表。

accessproposals 对象包含有关每个提案的信息,例如请求者、接收者以及请求者添加的消息。它还 包含一个 RoleAndView 对象,该对象将请求者提出的 roleview 分组。由于 role 是重复字段,因此每个提案可能存在多个角色。例如,一个提案可能有一个 RoleAndView 对象,其值为 role=readerview=published,另外还有一个 RoleAndView 对象,其值仅为 role=writer。如需了解详情,请参阅 视图

传递以下查询参数,以自定义访问权限提案的分页或过滤条件:

  • pageToken:从之前的列表调用收到的页面令牌。提供此令牌可检索后续页面。

  • pageSize:每页返回的访问权限提案数量上限。

解决待处理的访问权限提案

如需解决云端硬盘内容的所有待处理访问权限提案,请对 accessproposals 资源调用 resolve 方法,并添加 fileIdproposalId 路径参数。

resolve 方法包含一个 action 查询参数,用于表示要对提案执行的操作。 Action 对象会跟踪 提案的状态变化,以便我们了解提案是被接受还是被拒绝。

resolve 方法还包含 roleview 的可选查询参数。唯一受支持的角色是 writercommenterreader。如果未指定角色,则默认值为 reader。如需了解详情,请参阅角色 和权限。您还可以使用另一个可选查询参数 sendNotification,以便在提案被接受或拒绝时向请求者发送电子邮件通知。

list 方法一样,解决提案的用户必须对文件具有 can_approve_access_proposals 功能。如需详细了解 capabilities,请参阅 了解文件 功能

提案的解决方式与共享云端硬盘 资源 场景中列出的模式相同。如果同一用户有多个提案,但角色不同,则适用以下规则:

  • 如果一个提案被接受,另一个被拒绝,则接受的角色适用于云端硬盘内容。
  • 如果两个提案同时被接受,则应用权限较高的提案(例如,role=writerrole=reader 相比)。另一个访问权限提案将从内容中移除。

将提案发送到 resolve 方法后,共享操作即完成。已解决的访问权限提案不再通过 list 方法返回。提案被接受后,用户必须使用 permissions 资源来更新文件或 文件夹的权限。如需了解详情,请参阅更新 权限