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

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

変更リソース

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

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

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