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

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

审批人可以查看云端硬盘文件中的所有未解决的访问权限提案,并据此采取行动。也就是说,您可以通过程序化方式查询访问权限提案并加以解决,从而加快审批流程。此外,审批人还可以汇总查看提案。

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

以下术语专门用于访问权限提案:

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

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

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

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

响应正文由一个 AccessProposal 对象组成,该对象表示文件上未解决的访问权限建议列表。

AccessProposal 对象包含与每个提案相关的信息,例如请求者、收件人和请求者添加的消息。它还包含一个 AccessProposalRoleAndView 对象,用于将请求者提议的 roleview 分组。由于 role 是一个重复字段,因此每个提案都可能包含多个值。例如,提案可能包含一个 AccessProposalRoleAndView 对象(role=readerview=published),以及一个仅包含 role=writer 值的额外 AccessProposalRoleAndView 对象。如需了解详情,请参阅视图

传递以下查询参数可自定义访问权限方案的分页或过滤:

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

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

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

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

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

resolve() 方法还包含可选的 roleview 查询参数。仅支持 writercommenterreader 角色。如果未指定角色,则默认为 reader。通过额外的可选查询参数 send_notification,您可以在提案被接受或遭拒时向请求者发送电子邮件通知。

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

系统会使用共享云端硬盘资源的场景下列出的方法来解决建议。如果有多个针对同一用户的提案,但角色不同,则适用以下规则:

  • 如果一个提案被接受,另一个被拒绝,则系统会将已接受的角色应用于云端硬盘内容。
  • 如果同时接受这两项提案,系统会应用具有更高权限(例如 role=writerrole=reader)的提案。系统会从相应内容中移除其他访问权限提议。

resolve() 方法发送方案后,共享操作即完成。系统不再通过 list() 方法返回 AccessProposal。提案被接受后,用户必须使用 permissions 集合来更新文件或文件夹的权限。如需了解详情,请参阅更新权限