共有ドライブのサポートを実装する

共有ドライブは、マイドライブとは異なる組織モデル、共有モデル、所有権モデルに従います。アプリで共有ドライブにファイルを作成して管理する場合は、アプリに共有ドライブのサポートを実装する必要があります。実装の複雑さは、アプリの機能によって異なります。

まず、アプリが以下のオペレーションを実行するときに、リクエストに supportsAllDrives=true クエリ パラメータを含める必要があります。

Drive API v3

  • files.get
  • files.list
  • files.create
  • files.update
  • files.copy
  • files.delete
  • changes.list
  • changes.getStartPageToken
  • permissions.list
  • permissions.get
  • permissions.create
  • permissions.update
  • permissions.delete

Drive API v2

  • files.get
  • files.list
  • files.insert
  • files.update
  • files.patch
  • files.copy
  • files.trash
  • files.untrash
  • files.delete
  • files.touch
  • children.insert
  • parents.insert
  • changes.list
  • changes.getStartPageToken
  • changes.get
  • permissions.list
  • permissions.get
  • permissions.insert
  • permissions.update
  • permissions.patch
  • permissions.delete

supportsAllDrives=true パラメータは、アプリケーションが共有ドライブ上のファイルを処理するように設計されていることを Google ドライブに通知します。

権限の読み取りまたは変更、変更の追跡、複数のコーパス全体の検索が必要なアプリケーションには、追加の共有ドライブ機能が必要です。このドキュメントの残りの部分では、これらのタスクを実行するために必要な追加の変更について説明します。

共有ドライブでコンテンツを検索する

共有ドライブを検索するには、files.list メソッドを使用します。このセクションでは、files.list メソッドの共有ドライブ固有のフィールドについて説明します。共有ドライブを検索するには、ファイルとフォルダを検索するをご覧ください。

files.list メソッドには、次の共有ドライブ固有のフィールドとクエリモードが含まれます。

  • driveId - 検索する共有ドライブの ID。
  • includeItemsFromAllDrives - 共有ドライブのアイテムを結果に含めるかどうか。存在しない場合、または false に設定されている場合、共有ドライブのアイテムは返されません。

  • corpora - クエリが適用されるアイテム(ファイル/ドキュメント)の本文。サポートされているボディは userdomaindriveallDrives です。効率性を重視する場合は、allDrives ではなく user または drive を使用します。

  • supportsAllDrives - リクエスト元のアプリケーションがマイドライブと共有ドライブの両方をサポートしているかどうか。false の場合、共有ドライブのアイテムはレスポンスに含まれません。

次のクエリモードは共有ドライブに固有のものです。

includeItemsFromAllDrives corpora クエリの説明
true user ユーザーがアクセスしたファイル(共有ドライブとマイドライブの両方のファイル)をクエリします。
true drive 指定された共有ドライブ内のすべてのアイテムをクエリします。リクエストで driveId を指定する必要があります。
true allDrives ユーザーがアクセスしたファイルと、ユーザーが属しているすべての共有ドライブに対してクエリを実行します。レスポンスには incompleteSearch : true が含まれることがあります。これは、このリクエストで一部のコーパスが検索されなかったことを示します。
true domain ドメイン内で共有されているファイル(共有ドライブとマイドライブの両方のファイルを含む)に対してクエリを実行します。

共有ドライブの変更履歴を確認する

共有ドライブの変更履歴を確認するには、changes.list メソッドを使用します。このセクションでは、changes.list メソッドの共有ドライブ固有のフィールドについて説明します。詳細については、ユーザーと共有ドライブの変更を追跡するをご覧ください。changes.list メソッドには、共有ドライブ固有の次のフィールドとクエリモードが含まれています。

  • driveId - 変更が返される共有ドライブ。指定した場合、変更 ID は、ユーザーに表示されるファイルの変更ではなく、共有ドライブ内の変更を指します。特定の共有ドライブの変更を参照するには、共有ドライブ ID と変更 ID の両方を識別子として使用する必要があります。
  • supportsAllDrives - リクエスト元のアプリケーションが共有ドライブをサポートしているかどうか。false の場合、共有ドライブ内のアイテム(共有ドライブと共有ドライブ内のファイルの両方を含む)は返されません。
  • includeItemsFromAllDrives - 共有ドライブのファイルまたは変更を変更リストに含めるかどうか。

次のクエリモードは共有ドライブに固有のものです。

includeItemsFromAllDrives driveId クエリの説明
true いいえ 変更には、ユーザーがアクセスした共有ドライブ内外のファイルの変更と、ユーザーがメンバーである共有ドライブの変更が反映されます。
true はい 変更は、指定された特定の共有ドライブとその共有ドライブ内のアイテムに対する変更を反映しています。

変更ログの動作の詳細については、変更ログをご覧ください。

ドライブの UI で共有ドライブのサポートを有効にする

ドライブの UI を使用して共有ドライブのコンテンツにアクセスするには、Google API Console で [共有ドライブのサポート] がオンになっていることを確認します。詳細については、ドライブ UI の統合を構成するをご覧ください。

共有ドライブでのファイル選択ツールの使用

ファイル選択ツールは、共有ドライブ内のアイテムの選択をサポートしています。共有ドライブのサポートを有効にして、ファイル選択ツールに共有ドライブ ビューを追加する方法については、Google Picker API をご覧ください。

次のステップ

共有ドライブの作成と共有ドライブの権限の管理については、共有ドライブの管理をご覧ください。