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

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

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

API Диска 3.

  • 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 Диска 2.

  • 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 — идентификатор общего диска для поиска.
  • includeItemsFromAllDrives — следует ли включать в результаты элементы общего диска. Если оно отсутствует или установлено значение false, элементы общего диска не возвращаются.

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

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

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

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

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

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

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

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

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

Дополнительные сведения о поведении журнала изменений см. в разделе Журналы изменений .

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

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

Использование средства выбора файлов на общих дисках

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

Следующие шаги

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