L'API Google Sheets consente di creare, modificare ed eliminare intervalli denominati o protetti. Gli esempi in questa pagina illustrano come eseguire alcune operazioni comuni di Fogli con l'API Fogli.
Questi esempi sono presentati sotto forma di richieste HTTP per essere indipendenti dalla lingua. Per scoprire come implementare un aggiornamento collettivo in lingue diverse 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 fornire questi ID. Puoi trovare l'ID del foglio di lavoro nell'URL del foglio di lavoro. Puoi recuperare
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 degli intervalli denominati e protetti. namedRangeId
e
protectedRangeId
vengono utilizzati per effettuare richieste di aggiornamento o eliminazione degli
intervalli associati. L'ID viene restituito nella risposta a una richiesta dell'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
.
Aggiungere intervalli denominati o protetti
Il seguente
spreadsheets.batchUpdate
esempio di codice mostra come utilizzare 2 oggetti request. Il primo utilizza
AddNamedRangeRequest
per assegnare all'intervallo A1:E3 il nome "Conteggi". Il secondo utilizza il carattere AddProtectedRangeRequest
per applicare una protezione a livello di avviso all'intervallo A4:E4. Questo livello di protezione consente comunque di modificare le celle all'interno dell'intervallo, ma mostra un avviso prima di apportare la modifica.
Queste richieste restituiscono un
AddNamedRangeResponse
e un
AddProtectedRangeResponse
,
contenente 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 } } } ] }
Eliminare intervalli denominati o protetti
Il seguente
spreadsheets.batchUpdate
esempio di codice mostra come utilizzare 2 oggetti request. Il primo utilizza DeleteNamedRangeRequest
per eliminare un intervallo denominato esistente, utilizzando NAMED_RANGE_ID
di una chiamata API precedente. La seconda utilizza DeleteProtectedRangeRequest
per eliminare una protezione dell'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
, } } ] }
Aggiornare gli intervalli denominati o protetti
Il seguente
spreadsheets.batchUpdate
esempio di codice mostra come utilizzare 2 oggetti request. Il primo utilizza la funzione
UpdateNamedRangeRequest
per aggiornare il nome di un intervallo denominato esistente in "ConteggiIniziali", utilizzando NAMED_RANGE_ID
da 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 soltanto 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" } } ] }