В этом руководстве описаны задачи, связанные с управлением общими дисками, такие как создание общих дисков и управление участниками и правами доступа, с использованием API Google Drive.
Если вы хотите указать поля, которые должны быть возвращены в ответе, вы можете задать системный параметр fields с помощью любого метода ресурса drives . Если вы не укажете параметр fields , сервер вернет набор полей по умолчанию, специфичных для данного метода. Например, метод list возвращает только поля kind , id и name для каждого общего диска. Для получения дополнительной информации см. раздел «Возврат специфичных полей» .
Чтобы узнать больше об ограничениях на количество папок на общих дисках, см. раздел «Ограничения на количество папок на общих дисках» .
Создайте общий диск
Для создания общего диска используйте метод create ресурса drives с параметром requestId .
Параметр requestId определяет логическую попытку идемпотентного создания общего диска. Если запрос истекает по таймауту или возвращает неопределенную ошибку на стороне сервера, тот же запрос можно повторить, и дубликатов не будет. Параметр requestId и тело запроса должны оставаться неизменными.
В следующем примере кода показано, как создать общий сетевой диск:
Java
Python
Node.js
PHP
.СЕТЬ
Вызовы метода create являются идемпотентными.
Если общий диск был успешно создан в предыдущем запросе или в результате повторной попытки, метод возвращает экземпляр ресурса drives . Иногда, например, по прошествии длительного времени или при изменении тела запроса, может быть возвращена ошибка 409 указывающая на необходимость отбросить requestId .
Получите общий диск
Чтобы получить метаданные для общего диска, используйте метод get ресурса drives с параметром ` driveId . Если идентификатор диска неизвестен, вы можете вывести список всех общих дисков с помощью метода list .
Метод get возвращает общий диск в виде экземпляра ресурса drives .
Чтобы отправить запрос от имени администратора домена, установите параметр запроса useDomainAdminAccess в true . Дополнительную информацию см. в разделе «Управление общими дисками от имени администраторов домена» .
Список общих дисков
Чтобы вывести список общих дисков пользователя, используйте метод list ресурса ` drives . Метод возвращает список общих дисков.
Передайте следующие параметры запроса, чтобы настроить постраничную навигацию или фильтрацию общих дисков:
pageSize: Максимальное количество общих дисков, которые можно отобразить на одной странице.pageToken: Токен страницы, полученный из предыдущего вызова списка. Предоставьте этот токен для получения следующей страницы.q: Строка запроса для поиска на общих дисках. Дополнительную информацию см. в разделе «Поиск на общих дисках» .useDomainAdminAccess: Установите значениеtrue, чтобы отправить запрос от имени администратора домена и получить доступ ко всем общим дискам домена, в котором запрашивающий является администратором. Дополнительную информацию см. в разделе «Управление общими дисками от имени администраторов домена» .
Обновить общий диск
Для обновления метаданных общего диска используйте метод update ресурса drives с параметром пути driveId .
Метод возвращает общий диск в виде экземпляра ресурса drives .
Чтобы отправить запрос от имени администратора домена, установите параметр запроса useDomainAdminAccess в true . Дополнительную информацию см. в разделе «Управление общими дисками от имени администраторов домена» .
Скрытие и отображение общего диска
Чтобы скрыть общий диск из представления по умолчанию, используйте метод hide ресурса drives с параметром driveId .
Когда общий диск скрыт, Google Drive помечает его как hidden=true . Скрытые общие диски не отображаются в пользовательском интерфейсе Google Drive и в списке возвращаемых файлов.
Чтобы восстановить отображение общего диска по умолчанию, используйте метод unhide ресурса drives с параметром driveId .
Оба метода возвращают общий диск в виде экземпляра ресурса drives .
Удалить общий диск
Для окончательного удаления общего диска используйте метод delete ресурса drives с параметром driveId .
Перед удалением общего диска необходимо переместить все его содержимое в корзину или удалить. Пользователь также должен иметь role=organizer для папки общего диска. Для получения дополнительной информации см. раздел «Корзина или удаление файлов и папок» .
Передайте следующие параметры запроса для фильтрации общих дисков:
useDomainAdminAccess: Установите значениеtrue, чтобы отправить запрос от имени администратора домена и получить доступ ко всем общим дискам домена, в котором запрашивающий является администратором. Дополнительную информацию см. в разделе «Управление общими дисками от имени администраторов домена» .allowItemDeletion: Установите значениеtrue, чтобы удалять элементы на общем диске. Поддерживается только в том случае, еслиuseDomainAdminAccessтакже установлено вtrue.
Добавление или удаление участников общего диска
Добавляйте или удаляйте участников общего диска с помощью ресурса permissions .
Чтобы добавить участника, создайте разрешения для общего диска. Методы управления разрешениями также можно использовать для отдельных файлов на общем диске, чтобы предоставить участникам дополнительные привилегии или разрешить неучастникам совместно работать над определенными элементами.
Для получения дополнительной информации и примеров кода см. раздел «Обмен файлами, папками и дисками» .
Управление общими дисками от имени администраторов домена.
Используйте параметр useDomainAdminAccess для управления общими drives и permissions в рамках организации.
Пользователи, вызывающие эти методы с useDomainAdminAccess=true должны обладать правами администратора Google Drive and Docs . Администраторы могут искать общие диски или обновлять разрешения для общих дисков, принадлежащих их организации, независимо от членства администратора в каком-либо конкретном общем диске.
При использовании служебных учетных записей может потребоваться имитация прав авторизованного администратора с помощью функции имитации служебной учетной записи . Обратите внимание, что служебные учетные записи, в отличие от учетных записей пользователей, не принадлежат вашему домену Google Workspace. Если вы предоставляете общий доступ к ресурсам Google Workspace, таким как документы или события, всему вашему домену Google Workspace, они не будут доступны для служебных учетных записей. Для получения дополнительной информации см. раздел «Обзор служебных учетных записей» .
Восстановите данные с общего диска, на котором отсутствует органайзер.
Приведённый ниже пример кода демонстрирует, как восстановить общие диски, у которых больше нет организатора.
Java
Python
Node.js
PHP
.СЕТЬ
Запретите пользователям скачивать, распечатывать или копировать ваш файл.
Вы можете ограничить возможности пользователей по загрузке, печати и копированию файлов на общих дисках.
Чтобы определить, может ли пользователь изменять установленные организатором ограничения на загрузку данных на общем диске, проверьте логическое поле capabilities.canChangeDownloadRestriction . Если capabilities.canChangeDownloadRestriction установлено в true , ограничения на загрузку данных на общем диске могут быть применены. Для получения дополнительной информации см. раздел «Понимание возможностей файлов» .
Ресурс drives содержит набор логических полей restrictions , используемых для указания того, можно ли выполнить действие на общем диске. Ограничения применяются к общему диску или элементам внутри общего диска. Ограничения можно установить с помощью метода drives.update .
Чтобы применить ограничения на загрузку к общему диску, менеджер общих дисков может установить поле restrictions.downloadRestriction ресурса drives , используя объект DownloadRestriction . Установка логического поля restrictedForReaders в значение true означает, что для читателей ограничены как загрузка, так и копирование. Установка логического поля restrictedForWriters в значение true означает, что для писателей ограничены как загрузка, так и копирование. Обратите внимание, что если поле restrictedForWriters имеет значение true , то загрузка и копирование также ограничены для читателей. Аналогично, установка restrictedForWriters в true и restrictedForReaders в false эквивалентна установке restrictedForWriters и restrictedForReaders в true .
Обратная совместимость
С появлением объекта DownloadRestriction была обновлена функциональность логического поля restrictions.copyRequiresWriterPermission .
Теперь установка restrictions.copyRequiresWriterPermission в true true обновляет логическое поле restrictedForReaders объекта DownloadRestriction , указывая, что для читателей ограничены как загрузка, так и копирование.
Установка значения false в поле copyRequiresWriterPermission обновляет значения false как в поле restrictedForWriters , так и в поле restrictedForReaders . Это означает, что ограничения на скачивание или копирование снимаются для всех пользователей.
Поля, управляющие функциями загрузки, печати и копирования.
В следующей таблице перечислены поля ресурсов drives , влияющие на функциональность загрузки, печати и копирования:
| Поле | Описание | Версия |
|---|---|---|
capabilities.canCopy | Возможность копирования файлов на общем диске для текущего пользователя. | v2 и v3 |
capabilities.canDownload | Возможность для текущего пользователя загружать файлы с общего диска. | v2 и v3 |
capabilities.canChangeCopyRequiresWriterPermission | Может ли текущий пользователь изменить ограничение copyRequiresWriterPermission для общего диска? | v2 и v3 |
capabilities.canResetDriveRestrictions | Возможность для текущего пользователя сбросить ограничения общего диска до значений по умолчанию. | v2 и v3 |
capabilities.canChangeDownloadRestriction | Возможность изменения текущих ограничений на загрузку данных с общего диска. | только v3 |
restrictions.copyRequiresWriterPermission | Определяет, будут ли отключены для читателей и комментаторов параметры копирования, печати или загрузки файлов внутри общего диска. Если true , то для любого файла внутри этого общего диска устанавливается значение true в поле с аналогичным именем. | v2 и v3 |
restrictions.downloadRestriction | Ограничения на загрузку, применяемые менеджерами общих дисков. | только v3 |
Ограничения на количество папок
Для папок на общих дисках существуют определенные ограничения по объему хранилища. Дополнительную информацию см. в разделе «Ограничения на общих дисках в Google Диск» .
Крышка предмета
На общем диске каждого пользователя установлено ограничение в 500 000 элементов, включая файлы, папки и ярлыки.
Когда лимит будет достигнут, общий диск больше не сможет принимать файлы. Чтобы возобновить прием файлов, пользователям необходимо безвозвратно удалить элементы с общего диска. Обратите внимание, что элементы в корзине учитываются в лимите, а безвозвратно удаленные элементы — нет. Для получения дополнительной информации см. раздел «Корзина или удаление файлов и папок» .
Ограничение глубины папки
Папка на общем диске не может содержать более 100 уровней вложенных папок. Это означает, что дочерняя папка не может находиться внутри папки, вложенной более чем на 99 уровней. Это ограничение распространяется только на дочерние папки.
Попытки добавить более 100 уровней папок приводят к ошибке HTTP с кодом состояния teamDriveHierarchyTooDeep .