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 Sheets.
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 Google, consulta Aggiornare i fogli di lavoro.
In questi esempi, i segnaposto SPREADSHEET_ID e SHEET_ID
indicano dove devi 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
spreadsheets.get metodo. Gli
intervalli vengono specificati utilizzando la notazione A1. Un intervallo di esempio è Sheet1!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 quando si effettuano richieste per aggiornare o eliminare gli intervalli associati. L'ID viene restituito nella risposta a una richiesta dell'API Sheets che crea un intervallo denominato o protetto. Puoi ottenere gli ID degli intervalli esistenti
con il
spreadsheets.get metodo, nel
corpo della
Spreadsheet
risposta.
Aggiungere intervalli denominati o protetti
Il seguente
spreadsheets.batchUpdate
esempio di codice mostra come utilizzare due oggetti di richiesta. Il primo utilizza il
AddNamedRangeRequest
per assegnare all'intervallo A1:E3 il nome "Counts". Il secondo utilizza
AddProtectedRangeRequest
per allegare 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 visualizza un avviso prima di apportare la modifica.
Queste richieste restituiscono un
AddNamedRangeResponse
e un
AddProtectedRangeResponse,
contenenti gli ID e le proprietà dell'intervallo.
Di seguito è riportato il protocollo di richiesta.
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 due oggetti di richiesta. Il primo utilizza
DeleteNamedRangeRequest
per eliminare un intervallo denominato esistente, utilizzando NAMED_RANGE_ID da una
chiamata API precedente. Il secondo utilizza
DeleteProtectedRangeRequest
per eliminare una protezione dell'intervallo esistente, utilizzando PROTECTED_RANGE_ID
da una chiamata API precedente.
Di seguito è riportato il protocollo di richiesta.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"deleteNamedRange": {
"namedRangeId": "NAMED_RANGE_ID",
}
},
{
"deleteProtectedRange": {
"protectedRangeId": PROTECTED_RANGE_ID,
}
}
]
}Aggiornare intervalli denominati o protetti
Il seguente
spreadsheets.batchUpdate
esempio di codice mostra come utilizzare due oggetti di richiesta. Il primo utilizza
UpdateNamedRangeRequest
per aggiornare il nome di un intervallo denominato esistente a "InitialCounts", utilizzando NAMED_RANGE_ID
da una chiamata API precedente. Il secondo utilizza il
UpdateProtectedRangeRequest
per aggiornare un intervallo protetto esistente in modo che ora protegga lo stesso
intervallo denominato. Il
Editors metodo
consente solo agli utenti elencati di modificare queste celle. Questa richiesta utilizza NAMED_RANGE_ID e PROTECTED_RANGE_ID da chiamate API precedenti.
Di seguito è riportato il protocollo di richiesta.
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" } } ] }