Реализовать поддержку общего диска

Общие диски используют иные модели организации, совместного доступа и владения, чем «Мой диск». Если ваше приложение будет создавать и управлять файлами на общих дисках, вам необходимо реализовать поддержку общих дисков в самом приложении. Сложность реализации зависит от функциональности вашего приложения.

Для начала необходимо добавить параметр запроса 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 Drive, что ваше приложение предназначено для работы с файлами на общих дисках.

Приложениям, которые читают или изменяют права доступа, отслеживают изменения или осуществляют поиск по нескольким корпусам, требуются дополнительные возможности общего доступа к дискам. В оставшейся части этого документа рассматриваются дополнительные изменения, необходимые для выполнения этих задач.

Поиск контента на общем диске

Используйте метод list ресурса files для поиска пользовательских файлов на общих дисках. Для поиска на общем диске см. раздел «Поиск на общих дисках» .

Метод list содержит следующие общие параметры запроса, специфичные для каждого диска:

  • driveId : Идентификатор общего диска для поиска.

  • corpora : Наборы элементов (файлов или документов), к которым применяется запрос. Поддерживаются типы данных: user , domain , drive и allDrives . Для повышения эффективности предпочтительнее использовать user или drive вместо allDrives . По умолчанию для параметра corpora установлено значение user .

  • includeItemsFromAllDrives : Указывает, следует ли включать в результаты как элементы "Мой диск", так и элементы общего диска. Если параметр отсутствует или имеет значение false, элементы общего диска не возвращаются.

  • supportsAllDrives : Указывает, поддерживает ли запрашивающее приложение одновременно «Мой диск» и общий диск. Если значение равно false, элементы общего диска не включаются в ответ.

Следующие режимы запросов характерны именно для общих дисков:

includeItemsFromAllDrives corpora Описание запроса
true user Выполняет поиск файлов, к которым пользователь обращался, включая файлы как на общем диске, так и в разделе «Мой диск».
true domain Выполняет запросы к файлам, предоставленным в общий доступ в домене, включая файлы как на общих дисках, так и в разделе «Мой диск».
true drive Выполняет запрос ко всем элементам на указанном общем диске. driveId должен быть указан в запросе.
true allDrives Выполняется запрос к файлам, к которым пользователь обращался, и ко всем общим дискам, в которых он зарегистрирован. Обратите внимание, что ответ может содержать incompleteSearch:true , указывающее на то, что поиск по некоторым корпусам не проводился.

Отслеживание изменений на общем диске

Используйте метод list для ресурса changes , чтобы отслеживать изменения на общем диске. Дополнительную информацию см. в разделе «Отслеживание изменений для пользователей и общих дисков» .

Метод list содержит следующие общие параметры запроса, специфичные для каждого диска:

  • driveId : Общий диск, с которого возвращаются изменения. Если указано, идентификаторы изменений относятся к изменениям элементов на общем диске, определяя текущее состояние файла. Для ссылки на конкретное изменение на общем диске необходимо использовать как идентификатор общего диска, так и идентификатор изменения в качестве идентификатора.

  • includeItemsFromAllDrives : Следует ли включать файлы или изменения, внесенные на общий диск, в список изменений.

  • supportsAllDrives : Указывает, поддерживает ли запрашивающее приложение общие диски. Если значение равно false, то элементы общих дисков, включая как сами общие диски, так и файлы внутри них, не возвращаются.

Следующие режимы запросов характерны именно для общих дисков:

includeItemsFromAllDrives driveId Описание запроса
true Нет Изменения отражают изменения файлов внутри или вне общих дисков, к которым пользователь обращался, а также изменения в общих дисках, участником которых является пользователь.
true Да Изменения отражают изменения, внесенные в указанный общий диск и в содержимое этого диска.

Дополнительные сведения о поведении журнала изменений см. в разделе «Отслеживание изменений для пользователей и общих дисков» .

Включите поддержку общих дисков в пользовательском интерфейсе Google Диска.

Чтобы получить доступ к содержимому общих дисков через пользовательский интерфейс Google Диска, убедитесь, что на вкладке «Интеграция с пользовательским интерфейсом Google Диска» в консоли Google Cloud установлен флажок « Поддержка общих дисков ». Дополнительную информацию см. в разделе «Настройка интеграции с пользовательским интерфейсом Google Диска» .

Используйте Google Picker для работы с общими дисками.

Инструмент Google Picker поддерживает выбор элементов на общих дисках. Подробную информацию о включении поддержки общих дисков и добавлении представлений общих дисков в инструмент выбора см. в API Google Picker .