共有ドライブは、マイドライブとは異なる組織、共有、所有権のモデルに従います。アプリで共有ドライブのファイルを作成して管理する場合は、アプリで共有ドライブのサポートを実装する必要があります。実装の複雑さは、アプリの機能によって異なります。
まず、アプリが次のオペレーションを実行するときに、リクエストに 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
- クエリが適用されるアイテム(ファイル/ドキュメント)の本文。サポートされているボディはuser
、domain
、drive
、allDrives
です。効率性を重視して、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 で共有ドライブのサポートを有効にする
Drive UI を使用して共有ドライブのコンテンツにアクセスするには、Google API Console で [共有ドライブのサポート] がオンになっていることを確認してください。詳細については、ドライブの UI 統合を構成するをご覧ください。
共有ドライブでファイル選択ツールを使用する
ファイル選択ツールで、共有ドライブ内のアイテムを選択できるようになりました。共有ドライブのサポートを有効にして、ファイル選択ツールに共有ドライブのビューを追加する方法について詳しくは、Google Picker API をご覧ください。
次のステップ
共有ドライブの作成と共有ドライブの権限の管理については、共有ドライブの管理をご覧ください。