Предложение о предоставлении доступа — это предложение от заявителя к утверждающему лицу о предоставлении получателю доступа к элементу Google Drive.
Утверждающий может просматривать и принимать решения по всем неразрешенным заявкам на доступ к файлам в Google Диска. Это позволяет ускорить процесс утверждения, программно запрашивая заявки на доступ и затем разрешая их. Это также позволяет утверждающему просматривать заявки в совокупности.
API Google Drive предоставляет ресурс accessproposals , позволяющий просматривать и разрешать ожидающие рассмотрения заявки на доступ. Методы ресурса accessproposals работают с файлами, папками и файлами внутри общего диска, но не с самим общим диском.
Следующие термины относятся исключительно к заявкам на доступ:
- Заявитель : Пользователь, инициирующий запрос на предоставление доступа к элементу Google Диска.
- Получатель : Пользователь, получающий дополнительные права доступа к файлу, если запрос на доступ одобрен. Зачастую получателем является тот же пользователь, что и запрашивающий, но не всегда.
- Утверждающий : Пользователь, ответственный за утверждение (или отклонение) предложения о доступе. Обычно это происходит потому, что он является владельцем документа или имеет право делиться им.
Используйте параметр fields.
Если вы хотите указать поля, которые должны быть возвращены в ответе, вы можете задать системный параметр fields с помощью любого метода ресурса accessproposals . Если вы опустите параметр fields , сервер вернет набор полей по умолчанию, специфичных для данного метода. Чтобы вернуть другие поля, см. раздел «Возврат определенных полей» .
Получить ожидающее рассмотрения предложение о доступе
Чтобы получить предложение о доступе, используйте метод get ресурса accessproposals с параметрами пути fileId и proposalId . Если вам неизвестен идентификатор предложения, вы можете вывести список ожидающих рассмотрения предложений о доступе с помощью метода list .
Список ожидающих рассмотрения предложений по доступу
Чтобы отобразить список всех ожидающих рассмотрения предложений по доступу к элементу Google Диска, вызовите метод list ресурса accessproposals и укажите в качестве параметра путь fileId ).
Только лица, утверждающие файл, могут просматривать список ожидающих рассмотрения предложений по этому файлу. Утверждающим лицом является пользователь с правом доступа к файлам can_approve_access_proposals . Если запрашивающее лицо не является утверждающим, возвращается пустой список. Для получения дополнительной информации о capabilities см. раздел «Понимание прав доступа к файлам» .
В ответе содержится объект accessproposals , представляющий собой список неразрешенных предложений доступа к файлу.
Объект accessproposals содержит информацию о каждом предложении, такую как инициатор запроса, получатель и сообщение, добавленное инициатором запроса. Он также включает объект RoleAndView , который группирует предлагаемую role инициатора запроса с view . Поскольку поле role является повторяющимся, для каждого предложения может существовать несколько таких объектов. Например, предложение может иметь объект RoleAndView со значением role=reader и view=published , а также дополнительный объект RoleAndView только со значением role=writer . Для получения дополнительной информации см. раздел «Представления» .
Передайте следующие параметры запроса, чтобы настроить постраничную навигацию или фильтрацию предложений доступа:
pageToken: Токен страницы, полученный из предыдущего вызова списка. Предоставьте этот токен для получения следующей страницы.pageSize: Максимальное количество предложений доступа, возвращаемых на странице.
Рассмотреть ожидающие рассмотрения предложения о доступе.
Чтобы разрешить все ожидающие обработки предложения доступа к элементу Google Диска, вызовите метод resolve ресурса accessproposals и укажите в качестве параметров путь fileId и proposalId .
Метод resolve включает параметр запроса action , указывающий на действие, которое необходимо выполнить с предложением. Объект Action отслеживает изменение состояния предложения, поэтому мы знаем, принято оно или отклонено.
Метод resolve также включает необязательные параметры запроса role и view . Поддерживаются только роли writer , commenter и reader . Если роль не указана, по умолчанию используется reader . Дополнительную информацию см. в разделе «Роли и разрешения» . Дополнительный необязательный параметр запроса sendNotification позволяет отправлять уведомление по электронной почте инициатору запроса, когда предложение принято или отклонено.
Как и в случае со list , пользователи, рассматривающие предложение, должны иметь возможность can_approve_access_proposals для файла. Дополнительную информацию о capabilities см. в разделе «Понимание возможностей файла» .
Предложения обрабатываются с использованием тех же шаблонов, что и в разделе «Сценарии совместного использования ресурсов Google Диска» . Если для одного и того же пользователя поступает несколько предложений, но с разными ролями, применяется следующее:
- Если одно предложение принято, а другое отклонено, то принятая роль применяется к элементу на Диске.
- Если оба предложения принимаются одновременно, применяется предложение с более высоким уровнем доступа (например,
role=writerвместоrole=reader). Другое предложение доступа удаляется из элемента.
После отправки предложения методу resolve операция предоставления доступа завершается. Решенное предложение о доступе больше не возвращается методом list . После принятия предложения пользователь должен использовать ресурс permissions для обновления разрешений для файла или папки. Дополнительную информацию см. в разделе «Обновление разрешений» .