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

Предложение о доступе — это предложение от запрашивающей стороны утверждающей стороне о предоставлении получателю доступа к элементу Google Диска.

Утверждающий может просматривать все неразрешённые предложения по доступу к файлам на Диске и принимать по ним решения. Это означает, что вы можете ускорить процесс утверждения, программно запрашивая предложения по доступу и затем разрешая их. Кроме того, утверждающий может просматривать все предложения в совокупности.

API Google Диска предоставляет ресурс accessproposals , позволяющий просматривать и обрабатывать ожидающие заявки на доступ. Методы ресурса accessproposals работают с файлами, папками и файлами на общем диске, но не на самом общем диске.

Следующие термины относятся к предложениям по доступу:

  • Запрашивающая сторона : пользователь, инициирующий предложение о доступе к элементу Диска.
  • Получатель : пользователь, получающий дополнительные разрешения на доступ к файлу в случае одобрения запроса. Часто получатель совпадает с запрашивающим, но не всегда.
  • Утверждающий : пользователь, ответственный за одобрение (или отклонение) предложения о доступе. Обычно это происходит, если он является владельцем документа или имеет право предоставить к нему доступ.

Используйте параметр fields

Если вы хотите указать поля, возвращаемые в ответе, вы можете задать системный параметр fields с помощью любого метода ресурса accessproposals . Если параметр fields опущен, сервер вернет набор полей по умолчанию, специфичный для данного метода. Чтобы вернуть другие поля, см . раздел Возврат определённых полей .

Получить ожидающее предложение о доступе

Чтобы получить предложение о доступе, используйте метод get ресурса accessproposals с параметрами fileId и proposalId . Если вы не знаете идентификатор предложения, вы можете получить список ожидающих предложений о доступе с помощью метода list .

Список ожидающих предложений по доступу

Чтобы составить список всех ожидающих предложений доступа к элементу Диска, вызовите метод list в ресурсе accessproposals и включите параметр пути fileId .

Только утверждающие могут перечислять ожидающие предложения по файлу. Утверждающий — это пользователь с полномочиями can_approve_access_proposals для файла. Если запросчик не является утверждающим, возвращается пустой список. Подробнее о capabilities см. в разделе «Ознакомление с возможностями файла» .

Тело ответа состоит из объекта accessproposals , представляющего собой список неразрешенных предложений доступа к файлу.

Объект accessproposals содержит информацию о каждом предложении, такую ​​как инициатор запроса, получатель и добавленное инициатором сообщение. Он также включает объект RoleAndView , который группирует предложенную инициатором запроса role с view . Поскольку поле role повторяется, для каждого предложения может существовать несколько значений. Например, предложение может иметь объект RoleAndView со значением role=reader и view=published , а также дополнительный объект RoleAndView только со значением role=writer . Подробнее см. в разделе Views .

Передайте следующие параметры запроса для настройки пагинации или фильтрации предложений доступа:

  • pageToken : токен страницы, полученный при предыдущем вызове списка. Укажите этот токен для получения следующей страницы.

  • pageSize : максимальное количество предложений доступа, возвращаемых на страницу.

Решить ожидающие предложения по доступу

Чтобы разрешить все ожидающие предложения по доступу к элементу Диска, вызовите метод resolve для ресурса accessproposals и включите параметры пути fileId и proposalId .

Метод resolve включает параметр запроса action , который определяет действие, которое необходимо выполнить над предложением. Объект Action отслеживает изменение состояния предложения, чтобы мы знали, принимается оно или отклоняется.

Метод resolve также включает необязательные параметры запроса role и view . Поддерживаются только роли writer , commenter и reader . Если роль не указана, по умолчанию используется reader . Подробнее см. в разделе «Роли и разрешения» . Дополнительный необязательный параметр запроса sendNotification позволяет отправлять уведомление по электронной почте инициатору запроса при принятии или отклонении предложения.

Как и в случае со list , пользователи, принимающие решение по предложению, должны иметь право can_approve_access_proposals для файла. Подробнее о capabilities см. в разделе «Общие сведения о возможностях файла» .

Предложения обрабатываются по тем же шаблонам, что и в разделе «Сценарии совместного использования ресурсов Диска» . Если для одного и того же пользователя, но с разными ролями, имеется несколько предложений, применяются следующие правила:

  • Если одно предложение принято, а другое отклонено, принятая роль применяется к элементу Диска.
  • Если оба предложения принимаются одновременно, применяется предложение с более высоким уровнем доступа (например, role=writer а не role=reader ). Другое предложение доступа удаляется из элемента.

После отправки предложения методу resolve действие по предоставлению доступа завершается. Разрешенное предложение о доступе больше не возвращается методом list . После принятия предложения пользователь должен использовать ресурс permissions для обновления разрешений для файла или папки. Подробнее см. в разделе Обновление разрешений .