共有ドライブ API と My Drive API の違い

共有ドライブは、マイドライブとは異なる組織、共有、所有権のモデルに従います。そのため、共有ドライブのコンテンツに対しては、マイドライブの一部の操作が許可されていません。

このガイドでは、files リソースと changes リソースにおける共有ドライブ固有の API の違いについて説明します。

ファイル リソース

files リソースの次のフィールドは、共有ドライブ内のファイルに対してのみ入力されます。

  • 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: このフィールドはマイドライブのルートフォルダでのみ true になり、共有ドライブの最上位フォルダでは false になります。
  • parents: リクエストしているユーザーが共有ドライブのメンバーではなく、保護者にアクセスできない場合、保護者は保護者リストに表示されません。また、最上位のフォルダを除き、ファイルが共有ドライブ内にある場合、parents リストには 1 つのアイテムのみが含まれている必要があります。

  • capabilities/canRemoveChildren: capabilities/canDeleteChildren または capabilities/canTrashChildren を使用します。

リソースを変更

共有ドライブの changes リソースで、次の新しいフィールドを使用できます。

  • changeType: 変更タイプ。有効な値は filedrive です。
  • driveId: この変更に関連付けられている共有ドライブの ID。
  • drive: 更新された共有ドライブの状態。changeTypedrive で、ユーザーが共有ドライブのメンバーである場合に表示されます。

共有ドライブとコンテンツを同期したり、アクティビティを追跡したりする必要があるアプリケーションでは、追加の変更が必要になる場合があります。詳しくは、ユーザーと共有ドライブの変更履歴を追跡するをご覧ください。