共有ドライブ API と 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 - リクエスト元のユーザーが共有ドライブのメンバーではなく、親へのアクセス権を持っていない場合、親は親リストに表示されません。また、ファイルが共有ドライブ内にある場合は、最上位フォルダを除き、親リストに含めるアイテムは 1 つだけです。

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

Permissions リソース

permissionDetails フィールドは、共有ドライブ内にあるファイルに対してのみ入力されます。このフィールドは、この共有ドライブ ファイルに有効な権限、またはこの共有ドライブ ファイルによって継承される権限の集約リストです。このフィールドは出力専用のフィールドであり、共有ドライブのアイテムにのみ存在します。加えて次の点にもご注意ください。

  • organizerfileOrganizer の 2 つの新しいロールが定義されています。
  • permissions.list がページネーションをサポートするようになりました。

Changes リソース

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

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

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