Intervalos protegidos e nomeados

Com a API Google Sheets, você pode criar, modificar e excluir nomes ou arquivos intervalos. Os exemplos nesta página ilustram como você pode alcançar alguns Operações do Planilhas com a API Sheets.

Esses exemplos são apresentados na forma de solicitações HTTP para serem neutras. Para saber como implementar uma atualização em lote em diferentes idiomas usando bibliotecas de clientes da API do Google, consulte Atualizar planilhas.

Nestes exemplos, os marcadores de posição SPREADSHEET_ID e SHEET_ID indica onde você deve fornecer esses IDs. Você pode encontrar a planilha ID no URL da planilha. Você pode receber o ID da planilha usando o spreadsheets.get. A são especificados usando a notação A1. Um exemplo de intervalo é Sheet1!A1:D5.

Além disso, os marcadores de posição NAMED_RANGE_ID e PROTECTED_RANGE_ID forneça os IDs dos intervalos nomeados e protegidos. Os métodos namedRangeId e protectedRangeId são usadas ao fazer solicitações para atualizar ou excluir o dos intervalos associados. O ID é retornado na resposta a uma API Planilhas. que cria um intervalo nomeado ou protegido. É possível receber os IDs dos com os método spreadsheets.get, em as Spreadsheet corpo da resposta.

Adicionar intervalos nomeados ou protegidos

O seguinte spreadsheets.batchUpdate exemplo de código mostra como usar dois objetos de solicitação. O primeiro usa AddNamedRangeRequest para atribuir o nome "Counts" ao intervalo A1:E3. O segundo usa AddProtectedRangeRequest para anexar uma proteção de nível de aviso ao intervalo A4:E4. Essa proteção de nível ainda permite que as células do intervalo sejam editadas, mas um aviso é exibido antes de fazer a mudança.

Essas solicitações retornam uma AddNamedRangeResponse e um AddProtectedRangeResponse, contendo os IDs e as propriedades de intervalo.

Confira o protocolo da solicitação abaixo.

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
        }
      }
    }
  ]
}

Excluir intervalos nomeados ou protegidos

O seguinte spreadsheets.batchUpdate exemplo de código mostra como usar dois objetos de solicitação. O primeiro usa DeleteNamedRangeRequest para excluir um intervalo nomeado já existente, usando o NAMED_RANGE_ID de um chamada de API anterior. O segundo usa DeleteProtectedRangeRequest para excluir uma proteção de intervalo existente, usando o método PROTECTED_RANGE_ID de uma chamada de API anterior.

Confira o protocolo da solicitação abaixo.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteNamedRange": {
          "namedRangeId": "NAMED_RANGE_ID",
      }
    },
    {
      "deleteProtectedRange": {
        "protectedRangeId": PROTECTED_RANGE_ID,
      }
    }
  ]
}

Atualizar intervalos nomeados ou protegidos

O seguinte spreadsheets.batchUpdate exemplo de código mostra como usar dois objetos de solicitação. O primeiro usa UpdateNamedRangeRequest para atualizar o nome de um intervalo nomeado existente para "InitialCounts", usando o método NAMED_RANGE_ID de uma chamada de API anterior. O segundo usa UpdateProtectedRangeRequest para atualizar um intervalo protegido existente para que ele agora proteja o mesmo nome do intervalo 10.240.0.0/16. A Método Editors permite que apenas os usuários listados editem essas células. Essa solicitação usa o NAMED_RANGE_ID e PROTECTED_RANGE_ID de chamadas de API anteriores.

Confira o protocolo da solicitação abaixo.

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"
      }
    }
  ]
}