Interfejs API Arkuszy Google umożliwia tworzenie, modyfikowanie i usuwanie nazwanych lub chronionych zakresów. Przykłady na tej stronie pokazują, jak osiągnąć Operacje Arkuszy za pomocą interfejsu API Arkuszy.
Przykłady te są przedstawione w formie żądań HTTP, które stanowią język. i nie mam zdania. Aby dowiedzieć się, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsów API Google, przeczytaj artykuł Aktualizacja arkusze kalkulacyjne.
W tych przykładach zmienne SPREADSHEET_ID
i SHEET_ID
wskazuje, gdzie należy je podać. Arkusz kalkulacyjny można znaleźć
ID w adresie URL arkusza kalkulacyjnego. Możesz uzyskać
identyfikator arkusza za pomocą funkcji
spreadsheets.get
.
zakresy określa się w notacji A1. An
przykładowy zakres to Arkusz1!A1:D5.
Dodatkowo obiekty zastępcze NAMED_RANGE_ID
i PROTECTED_RANGE_ID
podaj identyfikatory nazwanych i chronionych zakresów. namedRangeId
i
protectedRangeId
są używane przy żądaniach zaktualizowania lub usunięcia
powiązanych zakresów. Identyfikator jest zwracany w odpowiedzi na interfejs Arkuszy API
które tworzy zakres nazwany lub chroniony. Możesz uzyskać identyfikatory istniejących
zakresy z parametrem
spreadsheets.get
w
Spreadsheet
treść odpowiedzi.
Dodaj zakresy nazwane lub chronione
Poniżej
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak używać 2 obiektów żądań. W pierwszej z nich użyto parametru
AddNamedRangeRequest
aby przypisać zakresom A1:E3 nazwę „Liczby”. W drugim przypadku użyto parametru
AddProtectedRangeRequest
aby dołączyć do zakresu A4:E4 zabezpieczenie poziomu ostrzegawczego. Ten poziom ochrony
nadal pozwala na edytowanie komórek w zakresie, ale powoduje wyświetlenie ostrzeżenia przed
zmiany.
Te żądania zwracają błąd
AddNamedRangeResponse
oraz
AddProtectedRangeResponse
,
zawierający identyfikatory i właściwości zakresów.
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żej
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak używać 2 obiektów żądań. W pierwszej z nich użyto parametru
DeleteNamedRangeRequest
aby usunąć istniejący zakres nazwany, używając funkcji NAMED_RANGE_ID
z
poprzedniego wywołania interfejsu API. W drugim przypadku użyto parametru
DeleteProtectedRangeRequest
w celu usunięcia istniejącego zakresu, za pomocą funkcji 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żej
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak używać 2 obiektów żądań. W pierwszej z nich użyto parametru
UpdateNamedRangeRequest
aby zaktualizować nazwę istniejącego zakresu nazwanego na „InitialCounts”, używając funkcji NAMED_RANGE_ID
z poprzedniego wywołania interfejsu API. W drugim przypadku użyto parametru
UpdateProtectedRangeRequest
aby zaktualizować istniejący zakres chroniony, tak aby chronił teraz tę samą nazwę
zakres dat.
Metoda Editors
zezwala na edytowanie tych komórek tylko użytkownikom z listy. Żądanie używa 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" } } ] }