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