Implement shared drive support

Shared drives follow different organization, sharing, and ownership models from My Drive. If your app is going to create and manage files on shared drives, you must implement shared drive support in your app. The complexity of your implementation depends on the functionality of your app.

To begin, you need to include the supportsAllDrives=true query parameter in your requests when your app performs the operations listed below:

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

The supportsAllDrives=true parameter informs Google Drive that your application is designed to handle files on shared drives.

Applications that read or modify permissions, track changes, or need to search across multiple corpora require additional shared drive functionality. The remainder of this document highlights additional changes required to perform these tasks.

Search for content on a shared drive

Use the files.list method to search for shared drives. This section covers shared drive-specific fields in the files.list method. To search for shared drive, refer to Search for files and folders.

The files.list method contains the following shared drive-specific fields and query modes:

  • driveId — ID of shared drive to search.
  • includeItemsFromAllDrives — Whether shared drive items should be included in results. If not present or set to false, then shared drive items are not returned.

  • corpora — Bodies of items (files/documents) to which the query applies. Supported bodies are user, domain, drive, and allDrives. Prefer user or drive to allDrives for efficiency.

  • supportsAllDrives — Whether the requesting application supports both My Drives and shared drives. If false, then shared drive items are not included in the response.

The following query modes are specific to shared drives:

includeItemsFromAllDrives corpora Query Description
true user Queries files that the user has accessed, including both shared drive and My Drive files.
true drive Queries all items in the specified shared drive. driveId must be specified in the request.
true allDrives Queries files that the user has accessed and all shared drives in which they are a member. Note that the response may include incompleteSearch : true, indicating that some corpora were not searched for this request.
true domain Queries files that are shared to the domain, including both shared drive and My Drive files.

Track changes on a shared drive

Use the changes.list method to track changes on a shared drive. This section covers shared drive-specific fields in the changes.list method. For more information, refer to Track changes for users and shared drives. The changes.list method contains the following shared drive-specific fields and query modes:

  • driveId — The shared drive from which changes are returned. If specified, the change IDs refer to changes within the shared drive, not changes to the files shown to the user. To refer to a specific shared drive change, both the shared drive ID and change ID must be used as an identifier.
  • supportsAllDrives — Whether the requesting application supports shared drives. If false, then shared drive items, including both shared drives and files within a shared drive, are not returned.
  • includeItemsFromAllDrives — Whether shared drive files or changes should be included in the list of changes.

The following query modes are specific to shared drives:

includeItemsFromAllDrives driveId Query Description
true No Changes are reflective of changes to files inside or outside of shared drives that the user has accessed, as well as changes to shared drives in which the user is a member.
true Yes Changes are reflective of changes to the particular shared drive that was specified and items inside that shared drive.

For additional details about change log behavior, refer to Change Logs.

Enable shared drive support in the Drive UI

To access shared drive content using the Drive UI, ensure you have checked the "Shared drives support" in the Google API Console. For further information, refer to Configure a Drive UI integration.

Using the file picker with shared drives

The file picker supports selecting items in shared drives. For details around enabling shared drives support and adding shared drives view in the file picker, refer to Google Picker API.

Next steps

Continue to Manage shared drives for help on creating shared drives and managing shared drive permissions.