Mit der Google Sheets API können Sie benannte oder geschützte Bereiche erstellen, ändern und löschen. Die Beispiele auf dieser Seite veranschaulichen, wie Sie einige häufige Sheets-Vorgänge mit der Sheets API ausführen können.
Diese Beispiele werden in Form von HTTP-Anfragen dargestellt, um sprachneutral zu sein. Informationen zum Implementieren eines Batch-Updates in verschiedenen Sprachen mit den Google API-Clientbibliotheken finden Sie unter Tabellen aktualisieren.
In diesen Beispielen geben die Platzhalter SPREADSHEET_ID und SHEET_ID
an, wo Sie diese IDs angeben müssen. Die Tabellen
ID finden Sie in der Tabellen-URL. Sie können die Tabellenblatt-ID mit der
spreadsheets.get Methode abrufen. Die
Bereiche werden in der A1-Notation angegeben. Ein Beispielbereich ist Sheet1!A1:D5.
Außerdem enthalten die Platzhalter NAMED_RANGE_ID und PROTECTED_RANGE_ID die IDs für die benannten und geschützten Bereiche. Die IDs namedRangeId und protectedRangeId werden verwendet, wenn Anfragen zum Aktualisieren oder Löschen der zugehörigen Bereiche gesendet werden. Die ID wird in der Antwort auf eine Sheets API-Anfrage zurückgegeben, mit der ein benannter oder geschützter Bereich erstellt wird. Sie können die IDs vorhandener
Bereiche mit der
spreadsheets.get Methode im
Antworttext
Spreadsheet
abrufen.
Benannte oder geschützte Bereiche hinzufügen
Das folgende
spreadsheets.batchUpdate
Codebeispiel zeigt, wie Sie zwei Anfrageobjekte verwenden. Mit dem ersten wird mit dem
AddNamedRangeRequest
dem Bereich A1:E3 der Name „Counts“ zugewiesen. Mit dem zweiten wird mit
AddProtectedRangeRequest
dem Bereich A4:E4 ein Schutz auf Warnstufe zugewiesen. Bei dieser Schutzstufe können Zellen im Bereich weiterhin bearbeitet werden, aber vor der Änderung wird eine Warnung angezeigt.
Diese Anfragen geben ein
AddNamedRangeResponse
und ein
AddProtectedRangeResponse,
mit den Bereichs-IDs und -Eigenschaften zurück.
Das Anfrageprotokoll ist unten dargestellt.
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
}
}
}
]
}Benannte oder geschützte Bereiche löschen
Das folgende
spreadsheets.batchUpdate
Codebeispiel zeigt, wie Sie zwei Anfrageobjekte verwenden. Mit dem ersten wird mit
DeleteNamedRangeRequest
ein vorhandener benannter Bereich gelöscht. Dabei wird die NAMED_RANGE_ID aus einem
vorherigen API-Aufruf verwendet. Mit dem zweiten wird mit
DeleteProtectedRangeRequest
ein vorhandener Bereichsschutz gelöscht. Dabei wird die PROTECTED_RANGE_ID
aus einem vorherigen API-Aufruf verwendet.
Das Anfrageprotokoll ist unten dargestellt.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"deleteNamedRange": {
"namedRangeId": "NAMED_RANGE_ID",
}
},
{
"deleteProtectedRange": {
"protectedRangeId": PROTECTED_RANGE_ID,
}
}
]
}Benannte oder geschützte Bereiche aktualisieren
Das folgende
spreadsheets.batchUpdate
Codebeispiel zeigt, wie Sie zwei Anfrageobjekte verwenden. Mit dem ersten wird mit
UpdateNamedRangeRequest
der Name eines vorhandenen benannten Bereichs in „InitialCounts“ geändert. Dabei wird die NAMED_RANGE_ID
aus einem vorherigen API-Aufruf verwendet. Mit dem zweiten wird mit dem
UpdateProtectedRangeRequest
ein vorhandener geschützter Bereich so aktualisiert, dass er jetzt denselben benannten
Bereich schützt. Die
Editors Methode
können nur die aufgeführten Nutzer diese Zellen bearbeiten. Für diese Anfrage werden die NAMED_RANGE_ID und PROTECTED_RANGE_ID aus vorherigen API-Aufrufen verwendet.
Das Anfrageprotokoll ist unten dargestellt.
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" } } ] }