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

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

Для начала вам необходимо включить параметр запроса supportsAllDrives=true в ваши запросы, когда ваше приложение выполняет следующие операции:

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

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 Да Изменения отражают изменения конкретного указанного общего диска и элементов на этом общем диске.

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

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

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

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

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