Перейти к основному содержимому

Защита листов

Доступ к таблице выдаётся на уровне документа, но у отдельного листа внутри таблицы может стоять защита. API это учитывает: токен наследует права того пользователя, которому он принадлежит. Если пользователю лист закрыт, его токен (и подключённый им AI-агент) видит ровно то же ограничение.

Это касается и подключений через MCP: агент обращается к тому же API, поэтому правила защиты действуют одинаково.

Скрытие значений листа​

В настройках защиты листа можно скрыть значения от конкретных пользователей (видят только те, кто в списке разрешённых, и владелец таблицы).

Если значения листа скрыты от пользователя токена, чтение диапазона этого листа возвращает 403:

  • GET /documents/{document}/values/{range} — ответ 403;
  • GET /documents/{document}/values/batchGet — для такого диапазона в ответе приходит поле error, остальные диапазоны отдаются нормально.

Защита от редактирования​

Лист можно защитить от редактирования, разрешив правки только выбранным участникам. Если пользователь токена не входит в список разрешённых (и не является владельцем), запись в этот лист возвращает 403:

  • PUT /documents/{document}/values/{range};
  • POST /documents/{document}/values/batchUpdate — пакет атомарный, поэтому защищённый лист отклоняет весь запрос, ничего не записывается;
  • POST /documents/{document}/values/append.

Запись отклоняется и в том случае, когда от пользователя токена скрыты значения листа: лист, который нельзя прочитать, нельзя и изменить.

Операции с листами​

Защита действует и на сам лист. Если лист закрыт для пользователя токена, переименовать или удалить его через API нельзя — вернётся 403:

  • PATCH /documents/{document}/sheets/{sheet};
  • DELETE /documents/{document}/sheets/{sheet}.

Создание нового листа защитой других листов не ограничено.

Владелец таблицы​

Владелец таблицы не ограничен защитой листов: его токен читает и пишет любые листы документа.