共用雲端硬碟與 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:這個欄位只適用於「我的雲端硬碟」根資料夾,不適用於共用雲端硬碟頂層資料夾。
  • parents:如果要求使用者不是共用雲端硬碟的成員,且沒有上層資料夾的存取權,則上層資料夾不會顯示在上層資料夾清單中。此外,如果檔案位於共用雲端硬碟中,除了頂層資料夾外,父項清單中必須包含一個項目。

  • capabilities/canRemoveChildren:請使用 capabilities/canDeleteChildrencapabilities/canTrashChildren

Permissions 資源

permissionDetails 欄位只會為位於共用雲端硬碟中的檔案填入資料。這個欄位是這個共用雲端硬碟檔案上的權限精簡清單,這個欄位是僅供輸出的欄位,且僅適用於共用雲端硬碟項目。此外,

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

Changes 資源

以下新欄位可用於共用雲端硬碟的 Changes 資源:

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

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