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