存取權提案是指要求者向核准者提出的提案,要求授予收件者 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 資源更新檔案或資料夾的權限。詳情請參閱「更新權限」。