共有ドライブ 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 で、ユーザーがまだ共有ドライブのメンバーである場合は指定します。

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