Mit der Google Tabellen API können Sie benannte oder geschützte Bereiche erstellen, ändern und löschen. Die Beispiele auf dieser Seite veranschaulichen, wie Sie einige gängige Tabellenvorgänge mit der Sheets API ausführen.
Diese Beispiele werden in Form von HTTP-Anfragen dargestellt, um sprachenunabhängig zu sein. Informationen zum Implementieren eines Batch-Updates in verschiedenen Sprachen mit den Clientbibliotheken der Google API finden Sie unter Listen aktualisieren.
In diesen Beispielen geben die Platzhalter SPREADSHEET_ID
und SHEET_ID
an, wo Sie diese IDs angeben würden. Die Tabellen-ID finden Sie in der Tabellen-URL. Die Tabellenblatt-ID können Sie mit der Methode spreadsheets.get
abrufen. Die Bereiche werden in A1-Notation angegeben. Ein Beispiel für einen Bereich ist Tabelle1!A1:D5.
Außerdem enthalten die Platzhalter NAMED_RANGE_ID
und PROTECTED_RANGE_ID
die IDs für die benannten und geschützten Bereiche. 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 Google Tabellen API-Anfrage zurückgegeben, mit der ein benannter oder geschützter Bereich erstellt wird. Die IDs vorhandener Bereiche können Sie mit der Methode spreadsheets.get
im Antworttext Spreadsheet
abrufen.
Benannte oder geschützte Bereiche hinzufügen
Im folgenden spreadsheets.batchUpdate
-Codebeispiel wird gezeigt, wie zwei Anfrageobjekte verwendet werden. Im ersten Fall wird mit AddNamedRangeRequest
dem Bereich A1:E3 der Name „Zählungen“ zugewiesen. Im zweiten wird mit AddProtectedRangeRequest
ein Schutz auf Warnungsebene an den Bereich A4:E4 angehängt. Dieser Schutz ermöglicht zwar weiterhin das Bearbeiten von Zellen im Bereich, gibt aber eine Warnung aus, bevor die Änderung vorgenommen wird.
Bei diesen Anfragen werden ein AddNamedRangeResponse
und ein AddProtectedRangeResponse
zurückgegeben, die die Bereichs-IDs und Attribute enthalten.
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
Im folgenden spreadsheets.batchUpdate
-Codebeispiel wird gezeigt, wie zwei Anfrageobjekte verwendet werden. Im ersten wird der Befehl DeleteNamedRangeRequest
verwendet, um einen vorhandenen benannten Bereich zu löschen. Dabei wird die NAMED_RANGE_ID
aus einem vorherigen API-Aufruf verwendet. Im zweiten Beispiel wird DeleteProtectedRangeRequest
verwendet, um einen vorhandenen Bereichsschutz zu löschen. Dazu wird das 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
Im folgenden spreadsheets.batchUpdate
-Codebeispiel wird gezeigt, wie zwei Anfrageobjekte verwendet werden. Im ersten Beispiel wird der Name eines vorhandenen benannten Bereichs mit UpdateNamedRangeRequest
auf „InitialCounts“ aktualisiert. Dabei wird der Wert NAMED_RANGE_ID
aus einem vorherigen API-Aufruf verwendet. Im zweiten Beispiel wird mit UpdateProtectedRangeRequest
ein vorhandener geschützter Bereich aktualisiert, sodass er jetzt den Bereich mit demselben Namen schützt. Mit der Methode Editors
können nur die aufgeführten Nutzer diese Zellen bearbeiten. Bei dieser Anfrage werden NAMED_RANGE_ID
und PROTECTED_RANGE_ID
aus vorherigen API-Aufrufen verwendet.
Das Anfrageprotokoll ist unten zu sehen.
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" } } ] }