共有ドライブは、マイドライブとは異なる組織、共有、所有権のモデルに従います。アプリで共有ドライブのファイルを作成、管理する場合は、アプリに共有ドライブのサポートを実装する必要があります。実装の複雑さは、アプリの機能によって異なります。
まず、アプリが次のオペレーションを実行するときに、リクエストに supportsAllDrives=true クエリ パラメータを含める必要があります。
Drive API v3
files.getfiles.listfiles.createfiles.updatefiles.copyfiles.deletechanges.listchanges.getStartPageTokenpermissions.listpermissions.getpermissions.createpermissions.updatepermissions.delete
Drive API v2
files.getfiles.listfiles.insertfiles.updatefiles.patchfiles.copyfiles.trashfiles.untrashfiles.deletefiles.touchchildren.insertparents.insertchanges.listchanges.getStartPageTokenchanges.getpermissions.listpermissions.getpermissions.insertpermissions.updatepermissions.patchpermissions.delete
supportsAllDrives=true パラメータは、共有ドライブ上のファイルを処理するようにアプリケーションが設計されていることを Google ドライブに通知します。
権限の読み取りや変更、変更の追跡、複数のコーパスの検索を行うアプリケーションには、共有ドライブの追加機能が必要です。このドキュメントの残りの部分では、これらのタスクを実行するために必要な追加の変更について説明します。
共有ドライブのコンテンツを検索する
files リソースの list メソッドを使用して、共有ドライブ内のユーザー ファイルを検索します。共有ドライブを検索するには、共有ドライブを検索するをご覧ください。
list メソッドには、次の共有ドライブ固有のクエリ パラメータが含まれています。
driveId: 検索する共有ドライブの ID。corpora: クエリが適用されるアイテム(ファイルまたはドキュメント)の本文。サポートされているボディはuser、domain、drive、allDrivesです。効率性を重視して、allDrivesよりもuserまたはdriveを優先します。デフォルトでは、コーパスはuserに設定されています。includeItemsFromAllDrives: マイドライブと共有ドライブの両方のアイテムを結果に含めるかどうか。存在しない場合、または false に設定されている場合、共有ドライブのアイテムは返されません。supportsAllDrives: リクエスト元のアプリケーションがマイドライブと共有ドライブの両方をサポートしているかどうか。false の場合、共有ドライブのアイテムはレスポンスに含まれません。
次のクエリモードは共有ドライブに固有のものです。
includeItemsFromAllDrives |
corpora |
クエリの説明 |
|---|---|---|
true |
user |
共有ドライブとマイドライブの両方のファイルを含め、ユーザーがアクセスしたファイルをクエリします。 |
true |
domain |
共有ドライブとマイドライブの両方のファイルを含め、ドメインと共有されているファイルをクエリします。 |
true |
drive |
指定された共有ドライブ内のすべてのアイテムをクエリします。リクエストで driveId を指定する必要があります。 |
true |
allDrives |
ユーザーがアクセスしたファイルと、ユーザーがメンバーになっているすべての共有ドライブをクエリします。レスポンスには incompleteSearch:true が含まれる場合があります。これは、このリクエストで一部のコーパスが検索されなかったことを示します。 |
共有ドライブの変更履歴を確認する
changes リソースの list メソッドを使用して、共有ドライブの変更を追跡します。詳しくは、ユーザーと共有ドライブの変更を追跡するをご覧ください。
list メソッドには、次の共有ドライブ固有のクエリ パラメータが含まれています。
driveId: 変更が返される共有ドライブ。指定した場合、変更 ID は共有ドライブ内のアイテムの変更を参照し、ファイルの現在の状態を提供します。特定の共有ドライブの変更を参照するには、共有ドライブ ID と変更 ID の両方を識別子として使用する必要があります。includeItemsFromAllDrives: 共有ドライブのファイルまたは変更を、変更リストに含めるかどうか。supportsAllDrives: リクエスト元のアプリが共有ドライブをサポートしているかどうか。false の場合、共有ドライブと共有ドライブ内のファイルの両方を含む共有ドライブ アイテムは返されません。
次のクエリモードは共有ドライブに固有のものです。
includeItemsFromAllDrives |
driveId |
クエリの説明 |
|---|---|---|
true |
いいえ | 変更は、ユーザーがアクセスした共有ドライブの内外のファイルに対する変更と、ユーザーがメンバーになっている共有ドライブに対する変更を反映しています。 |
true |
○ | 変更は、指定された特定の共有ドライブとその共有ドライブ内のアイテムに対する変更を反映しています。 |
変更ログの動作について詳しくは、ユーザーと共有ドライブの変更を追跡するをご覧ください。
ドライブの UI で共有ドライブのサポートを有効にする
Drive UI を使用して共有ドライブのコンテンツにアクセスするには、Google Cloud コンソールの Google Drive API の [Drive UI 統合] タブで [共有ドライブのサポート] チェックボックスがオンになっていることを確認してください。詳細については、ドライブ UI 統合を構成するをご覧ください。
共有ドライブで Google ピッカーを使用する
Google Picker は、共有ドライブ内のアイテムの選択をサポートしています。共有ドライブのサポートを有効にして、ピッカーに共有ドライブのビューを追加する方法について詳しくは、Google Picker API をご覧ください。