API Google Таблиц позволяет создавать, изменять и удалять именованные или защищенные диапазоны. Примеры на этой странице иллюстрируют, как можно выполнить некоторые распространенные операции с Таблицами с помощью Sheets API.
Эти примеры представлены в виде HTTP-запросов, которые не зависят от языка. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. раздел Обновление электронных таблиц .
В этих примерах заполнители SPREADSHEET_ID
и SHEET_ID
указывают, где вы будете предоставлять эти идентификаторы. Идентификатор таблицы можно найти в URL-адресе таблицы. Вы можете получить идентификатор листа , используя метод spreadsheets.get
. Диапазоны указаны с использованием обозначения A1 . Пример диапазона: Лист1!A1:D5.
Кроме того, заполнители NAMED_RANGE_ID
и PROTECTED_RANGE_ID
предоставляют идентификаторы именованных и защищенных диапазонов. namedRangeId
и protectedRangeId
используются при отправке запросов на обновление или удаление связанных диапазонов. Идентификатор возвращается в ответ на запрос API Таблиц, который создает именованный или защищенный диапазон. Вы можете получить идентификаторы существующих диапазонов с помощью метода spreadsheets.get
в теле ответа Spreadsheet
.
Добавить именованные или защищенные диапазоны
В следующем примере кода spreadsheets.batchUpdate
показано, как использовать два объекта запроса. Первый использует AddNamedRangeRequest
, чтобы присвоить диапазону A1:E3 имя «Counts». Второй использует AddProtectedRangeRequest
для прикрепления защиты уровня предупреждения к диапазону A4:E4. Этот уровень защиты по-прежнему позволяет редактировать ячейки в пределах диапазона, но перед внесением изменения выдается предупреждение.
Эти запросы возвращают AddNamedRangeResponse
и AddProtectedRangeResponse
, содержащие идентификаторы диапазонов и свойства.
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addNamedRange": { "namedRange": { "name": "Counts", "range": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 3, "startColumnIndex": 0, "endColumnIndex": 5, }, } } }, { "addProtectedRange": { "protectedRange": { "range": { "sheetId":SHEET_ID
, "startRowIndex": 3, "endRowIndex": 4, "startColumnIndex": 0, "endColumnIndex": 5, }, "description": "Protecting total row", "warningOnly": true } } } ] }
Удаление именованных или защищенных диапазонов
В следующем примере кода spreadsheets.batchUpdate
показано, как использовать два объекта запроса. Первый использует DeleteNamedRangeRequest
для удаления существующего именованного диапазона, используя NAMED_RANGE_ID
из предыдущего вызова API. Второй использует DeleteProtectedRangeRequest
для удаления существующей защиты диапазона, используя PROTECTED_RANGE_ID
из предыдущего вызова API.
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteNamedRange": { "namedRangeId": "NAMED_RANGE_ID
", } }, { "deleteProtectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, } } ] }
Обновление именованных или защищенных диапазонов
В следующем примере кода spreadsheets.batchUpdate
показано, как использовать два объекта запроса. Первый использует UpdateNamedRangeRequest
для обновления имени существующего именованного диапазона до «InitialCounts», используя NAMED_RANGE_ID
из предыдущего вызова API. Второй использует UpdateProtectedRangeRequest
для обновления существующего защищенного диапазона, чтобы он теперь защищал тот же именованный диапазон. Метод Editors
позволяет редактировать эти ячейки только перечисленным пользователям. Этот запрос использует NAMED_RANGE_ID
и PROTECTED_RANGE_ID
из предыдущих вызовов API.
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateNamedRange": { "namedRange": { "namedRangeId":NAMED_RANGE_ID
, "name": "InitialCounts", }, "fields": "name", } }, { "updateProtectedRange": { "protectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, "namedRangeId":NAMED_RANGE_ID
, "warningOnly": false, "editors": { "users": [ "charlie@example.com", "sasha@example.com" ] } }, "fields": "namedRangeId,warningOnly,editors" } } ] }