Interfejs Google Arkuszy API umożliwia tworzenie, modyfikowanie i usuwanie zakresów nazwanych lub chronionych. Przykłady na tej stronie pokazują, jak za pomocą interfejsu Arkuszy Google można wykonywać niektóre typowe operacje w Arkuszach.
Przykłady te mają postać żądań HTTP, które nie wpływają na język. Aby dowiedzieć się, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu API Google, przeczytaj artykuł o aktualizowaniu arkuszy kalkulacyjnych.
W tych przykładach obiekty zastępcze SPREADSHEET_ID
i SHEET_ID
wskazują, gdzie należy podać te identyfikatory. Ten identyfikator arkusza kalkulacyjnego znajdziesz w adresie URL arkusza kalkulacyjnego. Identyfikator arkusza możesz uzyskać za pomocą metody spreadsheets.get
. Zakresy określa się w notacji A1. Przykładowy zakres to Arkusz1!A1:D5.
Dodatkowo obiekty zastępcze NAMED_RANGE_ID
i PROTECTED_RANGE_ID
zawierają identyfikatory nazwanych i chronionych zakresów. namedRangeId
i protectedRangeId
są używane przy zgłaszaniu żądań zaktualizowania lub usunięcia powiązanych zakresów. Identyfikator jest zwracany w odpowiedzi na żądanie do interfejsu Arkuszy Google, które tworzy nazwany lub chroniony zakres. Identyfikatory istniejących zakresów możesz uzyskać za pomocą metody spreadsheets.get
w treści odpowiedzi Spreadsheet
.
Dodaj zakresy nazwane lub chronione
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak używać 2 obiektów żądań. Pierwszy z nich używa właściwości AddNamedRangeRequest
, aby przypisać zakresowi A1:E3 nazwę „Liczby”. W drugim przypadku użyto właściwości AddProtectedRangeRequest
, aby dołączyć do zakresu A4:E4 zabezpieczenie na poziomie ostrzeżenia. Ta ochrona poziomu nadal umożliwia edytowanie komórek w zakresie, ale przed wprowadzeniem zmiany wyświetla ostrzeżenie.
Te żądania zwracają wartości AddNamedRangeResponse
i AddProtectedRangeResponse
zawierające identyfikatory zakresów i właściwości.
Protokół żądania jest widoczny 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 } } } ] }
Usuń zakresy nazwane lub chronione
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak używać 2 obiektów żądań. Pierwszy z nich używa DeleteNamedRangeRequest
do usunięcia istniejącego zakresu nazwanego z wykorzystaniem NAMED_RANGE_ID
z poprzedniego wywołania interfejsu API. W drugim przypadku użyto DeleteProtectedRangeRequest
do usunięcia istniejącego zabezpieczenia zakresu z użyciem PROTECTED_RANGE_ID
z poprzedniego wywołania interfejsu API.
Protokół żądania jest widoczny poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteNamedRange": { "namedRangeId": "NAMED_RANGE_ID
", } }, { "deleteProtectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, } } ] }
Zaktualizuj zakresy nazwane lub chronione
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak używać 2 obiektów żądań. Pierwszy używa właściwości UpdateNamedRangeRequest
do zaktualizowania nazwy istniejącego zakresu nazwanego na „InitialCounts” przy użyciu NAMED_RANGE_ID
z poprzedniego wywołania interfejsu API. Drugi używa właściwości UpdateProtectedRangeRequest
do aktualizacji istniejącego zakresu chronionego, aby chronił ten sam zakres nazwany. Metoda Editors
umożliwia edytowanie komórek tylko użytkownikom z listy. To żądanie wykorzystuje NAMED_RANGE_ID
i PROTECTED_RANGE_ID
z poprzednich wywołań interfejsu API.
Protokół żądania jest widoczny 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" } } ] }