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