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

共用雲端硬碟的組織、共用和擁有權模式與「我的雲端硬碟」不同。因此,您無法對共用雲端硬碟中的內容執行部分「我的雲端硬碟」作業。本文將說明共用雲端硬碟專屬的 API 差異。

檔案資源

只有共用雲端硬碟中的檔案,才會填入 File 資源中的下列欄位:

  • hasAugmentedPermissions:是否有任何使用者直接取得這個檔案的存取權。
  • capabilities/canAddFolderFromAnotherDrive:目前使用者是否可將其他雲端硬碟 (其他共用雲端硬碟或「我的雲端硬碟」) 中的資料夾新增至這個資料夾。
  • capabilities/canDeleteChildren:目前使用者是否可以刪除這個資料夾的子項。
  • capabilities/canMoveChildrenOutOfDrive:目前使用者是否可將這個資料夾的子項移出共用雲端硬碟。
  • capabilities/canMoveChildrenWithinDrive:目前使用者是否可以在共用雲端硬碟中移動這個資料夾的子項。
  • capabilities/canMoveItemWithinDrive:目前使用者是否可以在共用雲端硬碟中移動這個項目。
  • capabilities/canReadDrive:目前使用者是否具有檔案所屬共用雲端硬碟的讀取權。
  • capabilities/canTrashChildren:目前使用者是否可以將這個資料夾的子項移至垃圾桶。
  • driveId:檔案所在的共用雲端硬碟 ID。
  • trashingUser:如果檔案已明確移至垃圾桶,則為移至垃圾桶的使用者。
  • trashedTime:項目遭刪除的時間。如果您使用的是舊版 Drive API v2,這個欄位稱為 trashedDate

如果檔案位於共用雲端硬碟中,系統不會填入下列欄位:

  • permissions:由於共用雲端硬碟 ACL 可能很大,因此權限不會做為檔案的一部分傳回。使用 permissions.list() 方法 (支援分頁),列出共用雲端硬碟或共用雲端硬碟資料夾中檔案的權限。
  • ownersownerNamesownedByMe:共用雲端硬碟中的檔案歸共用雲端硬碟所有,而非個別使用者。
  • folderColorRgb:資料夾無法個別上色。
  • shared:共用雲端硬碟中的所有項目都會共用。
  • writersCanShare:您無法在共用雲端硬碟中依角色限制共用。

只有在使用者獲得項目的檔案存取權時,系統才會設定下列欄位:

  • sharedWithMeDate
  • sharingUser

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

  • parents.isRoot:這個欄位只適用於「我的雲端硬碟」根資料夾,共用雲端硬碟頂層資料夾則不適用。
  • parents:如果要求者不是共用雲端硬碟的成員,且無法存取上層項目,則上層項目不會顯示在清單中。此外,如果檔案位於共用雲端硬碟中,則除了頂層資料夾外,父項清單必須只包含一個項目。

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

權限資源

只有位於共用雲端硬碟中的檔案,才會填入 Permission 資源中的 permissionDetails 欄位。這個欄位是共用雲端硬碟檔案上或繼承的權限清單。這個欄位是唯讀欄位,且只會顯示共用雲端硬碟項目。此外,

  • 我們定義了兩個新角色:organizerfileOrganizer
  • permissions.list() 方法支援分頁。

變更資源

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

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

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