Rangos con nombre y protegidos

La API de Google Sheets te permite crear, modificar y borrar o rangos. Los ejemplos de esta página ilustran cómo puedes lograr algunas Operaciones de Hojas de cálculo con la API de Hojas de cálculo

Estos ejemplos se presentan en forma de solicitudes HTTP como lenguaje neutrales. Para aprender a implementar una actualización por lotes en diferentes idiomas con las bibliotecas cliente de la API de Google, consulta Actualización hojas de cálculo.

En estos ejemplos, los marcadores de posición SPREADSHEET_ID y SHEET_ID se indica dónde se deben proporcionar esos ID. Puedes encontrar la hoja de cálculo ID en la URL de la hoja de cálculo. Puedes obtener el ID de la hoja mediante el spreadsheets.get. El los rangos se especifican con la notación A1. Los el rango de ejemplo es Hoja1!A1:D5.

Además, los marcadores de posición NAMED_RANGE_ID y PROTECTED_RANGE_ID proporcionan los ID de los rangos con nombre y protegidos. Los operadores namedRangeId y Las protectedRangeId se usan cuando se hacen solicitudes para actualizar o borrar el o en rangos asociados. El ID se muestra en la respuesta a una API de Hojas de cálculo que cree un rango con nombre o protegido. Puedes obtener los IDs de las cuentas con el valor spreadsheets.get, en el Spreadsheet cuerpo de respuesta.

Agregar rangos con nombre o protegidos

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar 2 objetos de solicitud. En la primera, se usa AddNamedRangeRequest para asignar al rango A1:E3 el nombre “Recuentos”. En el segundo, se usa AddProtectedRangeRequest para adjuntar una protección de nivel de advertencia al rango A4:E4. Este nivel de protección sigue permitiendo que se editen las celdas dentro del rango, pero muestra una advertencia antes antes de hacer el cambio.

Estas solicitudes devuelven un AddNamedRangeResponse y un AddProtectedRangeResponse: con los IDs y las propiedades de los rangos.

El protocolo de solicitud se muestra a continuación.

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

Eliminar rangos con nombre o protegidos

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar 2 objetos de solicitud. En la primera, se usa DeleteNamedRangeRequest para borrar un rango con nombre existente usando NAMED_RANGE_ID de un llamada a la API anterior. En el segundo, se usa DeleteProtectedRangeRequest para borrar una protección de rango existente con el método PROTECTED_RANGE_ID de una llamada a la API anterior.

El protocolo de solicitud se muestra a continuación.

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

Actualizar rangos con nombre o protección

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar 2 objetos de solicitud. En la primera, se usa UpdateNamedRangeRequest para actualizar el nombre de un rango con nombre existente a "InitialCounts" mediante el parámetro NAMED_RANGE_ID de una llamada a la API anterior. En el segundo, se usa UpdateProtectedRangeRequest para actualizar un rango protegido existente de modo que ahora proteja al mismo rango del rango de destino de la ruta. El Método Editors permite que solo los usuarios de la lista editen esas celdas. Esta solicitud usa NAMED_RANGE_ID. y PROTECTED_RANGE_ID de llamadas a la API anteriores.

El protocolo de solicitud se muestra a continuación.

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