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