共用雲端硬碟與 My Drive API 的差異

共用雲端硬碟會遵循「我的雲端硬碟」中 不同的機構、共用和擁有權模式因此,系統不允許對共用雲端硬碟中的內容執行某些「我的雲端硬碟」作業。本文件概述共用雲端硬碟專屬的 API 差異。

Files 資源

系統只會針對共用雲端硬碟中的檔案填入下列欄位:

  • hasAugmentedPermissions:任何使用者直接授予這個檔案的存取權。
  • capabilities/canAddFolderFromAnotherDrive:目前的使用者能否將其他雲端硬碟 (不同共用雲端硬碟或「我的雲端硬碟」) 的資料夾新增至這個資料夾。
  • capabilities/canDeleteChildren:目前使用者是否可刪除這個資料夾的子項。
  • capabilities/canMoveChildrenOutOfDrive - 目前的使用者能否將這個資料夾的子項移至共用雲端硬碟外。
  • capabilities/canMoveChildrenWithinDrive - 目前的使用者能否在共用雲端硬碟中移動這個資料夾的子項。
  • capabilities/canMoveItemWithinDrive:目前使用者是否可在共用雲端硬碟中移動這個共用雲端硬碟項目。
  • capabilities/canReadDrive:目前使用者是否擁有這個檔案所屬共用雲端硬碟的讀取權限。
  • capabilities/canTrashChildren — 目前的使用者是否可以將這個資料夾的子項移至垃圾桶。
  • driveId:檔案所在的共用雲端硬碟 ID。
  • trashingUser:如果檔案已明確移至垃圾桶,使用者就是移至垃圾桶的使用者。
  • trashedTime:項目移至垃圾桶的時間。

系統不會為共用雲端硬碟中的檔案填入下列欄位:

  • permissions:由於共用雲端硬碟 ACL 的潛在大小,系統不會以檔案的形式傳回權限。使用支援分頁功能的 permissions.list 方法,列出共用雲端硬碟或共用雲端硬碟本身的檔案權限。
  • ownersownerNamesownedByMe:共用雲端硬碟中的檔案是由共用雲端硬碟擁有,而非個別使用者。
  • folderColorRgb - 無法為資料夾個別加上顏色
  • shared:共用雲端硬碟中的所有項目都會共用。
  • writersCanShare:目前無法依共用雲端硬碟中的角色限制共用行為。

只有使用者已取得某項目的檔案存取權限時,才能設定下列欄位:

  • sharedWithMeDate
  • sharingUser

下列欄位與共用雲端硬碟搭配使用時,請特別留意:

  • parents.isRoot:僅適用於「我的雲端硬碟」根資料夾,此欄位為 true;如果是共用雲端硬碟頂層資料夾,則此為 false。
  • parents:如果要求的使用者不是該共用雲端硬碟的成員,也沒有父項的存取權,父項清單就不會顯示父項。此外,如果檔案位於共用雲端硬碟中,則父項清單必須包含一個項目 (頂層資料夾除外)。

  • capabilities/canRemoveChildren - 使用 capabilities/canDeleteChildrencapabilities/canTrashChildren

Permissions 資源

系統只會為位於共用雲端硬碟中的檔案填入 permissionDetails 欄位。這個欄位是指這個共用雲端硬碟檔案所沿用或沿用的壓縮權限清單。這個欄位是輸出欄位,僅適用於共用雲端硬碟項目。此外,

  • 已定義 organizerfileOrganizer 的兩個新角色。
  • permissions.list 現在支援分頁。

Changes 資源

共用雲端硬碟的 Changes 資源提供下列新欄位:

  • changeType:變更的類型。可能的值為 filedrive
  • driveId:與這項變更相關聯的共用雲端硬碟 ID。
  • drive:共用雲端硬碟的更新狀態。如果 changeTypedrive,且使用者仍是該共用雲端硬碟的成員,就會顯示此項目。

如果應用程式需要將內容同步到共用雲端硬碟或追蹤活動,就可能需要進行其他變更。詳情請參閱「追蹤使用者和共用雲端硬碟的變更」。