L'API Fogli Google consente di creare, modificare ed eliminare intervalli denominati o protetti. Gli esempi in questa pagina mostrano come eseguire alcune operazioni comuni per Fogli con l'API Fogli.
Questi esempi sono presentati sotto forma di richieste HTTP per essere indipendenti dal linguaggio. Per scoprire come implementare un aggiornamento batch in lingue diverse, utilizzando le librerie client delle API di Google, consulta la pagina relativa all'aggiornamento dei 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 ottenere
l'ID del 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 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 di
Spreadsheet
.
Aggiungi intervalli denominati o protetti
Il seguente esempio di codice spreadsheets.batchUpdate
mostra come utilizzare 2 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 del livello consente comunque di modificare le celle all'interno dell'intervallo, ma richiede un avviso prima di apportare la modifica.
Queste richieste restituiscono una proprietà AddNamedRangeResponse
e una AddProtectedRangeResponse
contenenti gli ID e le proprietà degli intervalli.
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 spreadsheets.batchUpdate
mostra come utilizzare 2 oggetti di richiesta. La prima utilizza DeleteNamedRangeRequest
per eliminare un intervallo denominato esistente, utilizzando NAMED_RANGE_ID
di una chiamata API precedente. Il secondo utilizza DeleteProtectedRangeRequest
per eliminare una protezione 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 spreadsheets.batchUpdate
mostra come utilizzare 2 oggetti di richiesta. Il primo utilizza UpdateNamedRangeRequest
per aggiornare il nome di un intervallo denominato esistente in "InitialCounts", utilizzando NAMED_RANGE_ID
di una chiamata API precedente. Il secondo utilizza UpdateProtectedRangeRequest
per aggiornare un intervallo protetto esistente in modo da proteggere 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" } } ] }