存取權提案是提出者向核准者提出的提案,要求核准者授予收件者 Google 雲端硬碟項目的存取權。
核准者可以查看並處理所有未解決的雲端硬碟檔案存取權提案。也就是說,您可以透過程式輔助方式查詢存取權提案,然後解決這些提案,加快審核程序。並允許核准者匯總查看提案。
Google 雲端硬碟 API 提供 accessproposals
資源,方便您查看及解決待處理的存取提案。accessproposals
資源的方法可用於共用雲端硬碟中的檔案、資料夾和檔案,但不在共用雲端硬碟上運作。
以下是存取權提案專屬的條款:
- 提出要求者:發起 Google 雲端硬碟項目存取權提案的使用者。
- 收件者:如果存取權提案獲得核准,則是指收到檔案額外權限的使用者。收件者通常與要求者相同,但不一定如此。
- 核准者:負責核准 (或拒絕) 存取權提案的使用者。這通常是因為他們是文件的擁有者,或是有權分享文件。
列出待處理的存取提案
如要列出雲端硬碟項目上的所有待處理存取提案,請在 accessproposals
資源上呼叫 list()
方法,並加入 fileId
路徑參數。
只有檔案核准者才能列出檔案中的待處理提案。核准者是指擁有檔案 can_approve_access_proposals
功能的使用者。如果要求者不是核准者,系統會傳回空白清單。如要進一步瞭解 capabilities
,請參閱「瞭解檔案功能」。
回應主體包含 AccessProposal
物件,代表檔案中未解決的存取權提案清單。
AccessProposal
物件包含每個提案的相關資訊,例如要求者、收件者,以及要求者新增的訊息。它還包含 AccessProposalRoleAndView
物件,可將要求者的建議 role
與 view
分組。由於 role
是重複欄位,因此每個提案都可能有多次重複。舉例來說,提案可能包含 role=reader
和 view=published
的 AccessProposalRoleAndView
物件,以及另一個只包含 role=writer
值的 AccessProposalRoleAndView
物件。詳情請參閱「Views」。
傳遞下列查詢參數,即可自訂存取建議的頁面分頁或篩選條件:
pageToken
:從先前 list 呼叫收到的頁面權杖。提供這個符記即可擷取後續網頁。pageSize
:每頁返回的存取建議數量上限。
解決待處理的存取權提案
如要解決 Drive 項目上所有待處理的存取提案,請在 accessproposals
資源上呼叫 resolve()
方法,並加入 fileId
和 proposalId
路徑參數。
resolve()
方法包含 action
查詢參數,用於表示要對提案採取的動作。Action
物件會追蹤提案的狀態變更,讓我們知道提案是否已接受或拒絕。
resolve()
方法也包含選用的 role
和 view
查詢參數。系統僅支援 writer
、commenter
和 reader
這三種角色。如果未指定角色,則預設為 reader
。另外,您可以使用 send_notification
這個選用查詢參數,在提案獲得核准或拒絕時,向提出要求者傳送電子郵件通知。
與 list()
方法相同,解決提案的使用者必須具備檔案的 can_approve_access_proposals
功能。如要進一步瞭解 capabilities
,請參閱「瞭解檔案功能」。
我們會使用「共用 Drive 資源的情境」一節所列的相同模式來解決提案。如果同一位使用者有多項提案,但角色不同,則適用下列規定:
- 如果一個提案已接受,另一個提案已拒絕,則會將已接受的角色套用至 Drive 項目。
- 如果兩個提案同時通過,系統會套用具有較高權限的提案 (例如
role=writer
與role=reader
)。其他存取權提案會從項目中移除。
將提案傳送至 resolve()
方法後,分享動作就會完成。AccessProposal
不再透過 list()
方法傳回。提案接受後,使用者必須使用 permissions
集合,更新檔案或資料夾的權限。詳情請參閱「更新權限」。