Intervalli protetti e con nome

L'API Fogli Google consente di creare, modificare ed eliminare intervalli denominati o protetti. Gli esempi in questa pagina illustrano come eseguire alcune operazioni comuni con Fogli con l'API Fogli.

Questi esempi sono presentati sotto forma di richieste HTTP per essere neutrali dal linguaggio. Per informazioni su come implementare un aggiornamento batch in diversi linguaggi utilizzando le librerie client delle API di Google, consulta Aggiornare i fogli di lavoro.

In questi esempi, i segnaposto SPREADSHEET_ID e SHEET_ID indicano dove dovresti fornire questi ID. Puoi trovare l'ID del foglio di lavoro nell'URL del foglio di lavoro. Puoi ottenere l'ID foglio utilizzando il metodo spreadsheets.get. Gli intervalli vengono specificati utilizzando la notazione A1. Un intervallo di esempio è Foglio1!A1:D5.

Inoltre, i segnaposto NAMED_RANGE_ID e PROTECTED_RANGE_ID forniscono gli ID per gli intervalli denominati e protetti. namedRangeId e protectedRangeId vengono utilizzati quando si effettuano richieste di aggiornamento o eliminazione degli intervalli associati. L'ID viene restituito nella risposta a una richiesta API Fogli che crea un intervallo denominato o protetto. Puoi ottenere gli ID degli intervalli esistenti con il metodo spreadsheets.get, nel corpo della risposta Spreadsheet.

Aggiungi intervalli denominati o protetti

Il seguente esempio di codice di spreadsheets.batchUpdate mostra come utilizzare due oggetti di richiesta. Il primo utilizza AddNamedRangeRequest per assegnare all'intervallo A1:E3 il nome "Counts". Il secondo utilizza AddProtectedRangeRequest per collegare una protezione a livello di avviso all'intervallo A4:E4. Questa protezione di livello consente comunque di modificare le celle all'interno dell'intervallo, ma richiede un avviso prima di apportare la modifica.

Queste richieste restituiscono un elemento AddNamedRangeResponse e un AddProtectedRangeResponse, contenenti gli ID e le proprietà dell'intervallo.

Il protocollo di richiesta è mostrato di seguito.

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

Elimina intervalli denominati o protetti

Il seguente esempio di codice di spreadsheets.batchUpdate mostra come utilizzare due oggetti di richiesta. Il primo utilizza DeleteNamedRangeRequest per eliminare un intervallo denominato esistente, utilizzando il valore NAMED_RANGE_ID di una chiamata API precedente. Il secondo utilizza DeleteProtectedRangeRequest per eliminare una protezione di intervallo esistente, utilizzando PROTECTED_RANGE_ID di una chiamata API precedente.

Il protocollo di richiesta è mostrato di seguito.

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

Aggiorna intervalli denominati o protetti

Il seguente esempio di codice di spreadsheets.batchUpdate mostra come utilizzare due oggetti di richiesta. Il primo utilizza UpdateNamedRangeRequest per aggiornare il nome di un intervallo denominato esistente in "InitialCounts", utilizzando il valore NAMED_RANGE_ID di una chiamata API precedente. Il secondo utilizza UpdateProtectedRangeRequest per aggiornare un intervallo protetto esistente in modo che ora protegga lo stesso intervallo denominato. Il metodo Editors consente solo agli utenti elencati di modificare queste celle. Questa richiesta utilizza NAMED_RANGE_ID e PROTECTED_RANGE_ID delle chiamate API precedenti.

Il protocollo di richiesta è mostrato di seguito.

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