共有ドライブ 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 で、ユーザーが引き続き共有ドライブのメンバーである場合に表示されます。

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