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