Interfejs Google Sheets API umożliwia tworzenie, modyfikowanie i usuwanie zakresów nazwanych lub chronionych. Przykłady na tej stronie pokazują, jak wykonywać typowe operacje na arkuszach za pomocą interfejsu Sheets API.
Przykłady te są przedstawione w formie żądań HTTP, aby były neutralne językowo. Aby dowiedzieć się, jak za pomocą bibliotek klienta interfejsu API Google wdrożyć zbiorcze aktualizowanie w różnych językach, przeczytaj artykuł Aktualizowanie arkuszy kalkulacyjnych.
W tych przykładach obiekty zastępcze SPREADSHEET_ID
i SHEET_ID
wskazują, gdzie należy podać te identyfikatory. Identyfikator arkusza kalkulacyjnego znajdziesz w adresie URL arkusza. Identyfikator arkusza możesz uzyskać, korzystając z metody spreadsheets.get
. Zakresy są określane za pomocą notacji A1. Przykładowy zakres to Arkusz1!A1:D5.
Dodatkowo zmienne NAMED_RANGE_ID
i PROTECTED_RANGE_ID
podają identyfikatory nazwanych i chronionych zakresów. Wartości namedRangeId
i protectedRangeId
są używane podczas wysyłania żądań aktualizowania lub usuwania powiązanych zakresów. Identyfikator jest zwracany w odpowiedzi na żądanie interfejsu Sheets API, które tworzy zakres nazwany lub chroniony. Identyfikatory istniejących zakresów możesz uzyskać za pomocą metody spreadsheets.get
w treści odpowiedzi Spreadsheet
.
Dodawanie zakresów nazwanych lub chronionych
Ten przykładowy kod spreadsheets.batchUpdate
pokazuje, jak używać 2 obiektów żądania. Pierwsza z nich używa funkcji AddNamedRangeRequest
do przypisania zakresowi A1:E3 nazwy „Liczydła”. Drugi z nich używa funkcji AddProtectedRangeRequest
, aby dołączyć do zakresu A4:E4 ochronę na poziomie ostrzeżenia. Na tym poziomie ochrony nadal można edytować komórki w zakresie, ale przed wprowadzeniem zmiany wyświetla się ostrzeżenie.
Te żądania zwracają obiekty AddNamedRangeResponse
i AddProtectedRangeResponse
, zawierające identyfikatory i właściwości zakresu.
Protokół żądania przedstawiono poniżej.
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 } } } ] }
Usuwanie zakresów nazwanych lub chronionych
Ten przykładowy kod spreadsheets.batchUpdate
pokazuje, jak używać 2 obiektów żądania. Pierwsza używa parametru DeleteNamedRangeRequest
do usunięcia istniejącego zakresu nazwanego, używając parametru NAMED_RANGE_ID
z poprzedniego wywołania interfejsu API. Drugi używa parametru DeleteProtectedRangeRequest
do usunięcia istniejącej ochrony zakresu, używając parametru PROTECTED_RANGE_ID
z poprzedniego wywołania interfejsu API.
Protokół żądania przedstawiono poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteNamedRange": { "namedRangeId": "NAMED_RANGE_ID
", } }, { "deleteProtectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, } } ] }
Aktualizowanie zakresów nazwanych lub chronionych
Ten przykładowy kod spreadsheets.batchUpdate
pokazuje, jak używać 2 obiektów żądania. Pierwszy używa parametru
UpdateNamedRangeRequest
do zaktualizowania nazwy istniejącego zakresu o nazwie na „InitialCounts”, używając parametru NAMED_RANGE_ID
z poprzedniego wywołania interfejsu API. Druga metoda używa parametru UpdateProtectedRangeRequest
do zaktualizowania istniejącego chronionego zakresu, tak aby chronił teraz zakres o tej samej nazwie. Metoda Editors
pozwala edytować te komórki tylko wymienionym użytkownikom. To żądanie używa parametrów NAMED_RANGE_ID
i PROTECTED_RANGE_ID
z poprzednich wywołań interfejsu API.
Protokół żądania przedstawiono poniżej.
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" } } ] }