Управление ожидающими предложениями доступа

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