Google Sheets API를 사용하면 명명된 범위 또는 보호된 범위를 만들고 수정하고 삭제할 수 있습니다. 이 페이지의 예시는 Sheets API로 일반적인 Sheets 작업을 수행하는 방법을 보여줍니다.
이 예시는 언어 중립적인 HTTP 요청의 형태로 제공됩니다. Google API 클라이언트 라이브러리를 사용하여 다양한 언어로 일괄 업데이트를 구현하는 방법을 알아보려면 스프레드시트 업데이트를 참고하세요.
이 예시에서 자리표시자 SPREADSHEET_ID
및 SHEET_ID
는 해당 ID를 입력하는 위치를 나타냅니다. 스프레드시트 URL에서 스프레드시트 ID를 확인할 수 있습니다. spreadsheets.get
메서드를 사용하여 시트 ID를 가져올 수 있습니다. 범위는 A1 표기법을 사용하여 지정됩니다. 예시 범위는 Sheet1!A1:D5입니다.
또한 자리표시자 NAMED_RANGE_ID
및 PROTECTED_RANGE_ID
는 명명된 범위와 보호된 범위의 ID를 제공합니다. namedRangeId
및 protectedRangeId
는 연결된 범위를 업데이트하거나 삭제하도록 요청할 때 사용됩니다. 이 ID는 명명된 범위나 보호된 범위를 생성하는 Sheets API 요청에 대한 응답으로 반환됩니다. Spreadsheet
응답 본문에서 spreadsheets.get
메서드를 사용하여 기존 범위의 ID를 가져올 수 있습니다.
명명된 범위 또는 보호된 범위 추가
다음 spreadsheets.batchUpdate
코드 샘플은 요청 객체 2개를 사용하는 방법을 보여줍니다. 첫 번째는 AddNamedRangeRequest
를 사용하여 범위 A1:E3에 'Counts'라는 이름을 할당합니다. 두 번째는 AddProtectedRangeRequest
를 사용하여 A4:E4 범위에 경고 수준 보호를 연결합니다. 이 수준의 보호에서는 범위 내의 셀 편집을 여전히 허용하지만 변경을 수행하기 전에 경고 메시지를 표시합니다.
이러한 요청은 범위 ID와 속성이 포함된 AddNamedRangeResponse
및 AddProtectedRangeResponse
를 반환합니다.
요청 프로토콜은 아래와 같습니다.
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 } } } ] }
이름이 지정된 범위 또는 보호된 범위 삭제
다음 spreadsheets.batchUpdate
코드 샘플은 요청 객체 2개를 사용하는 방법을 보여줍니다. 첫 번째는 DeleteNamedRangeRequest
를 사용하여 이전 API 호출의 NAMED_RANGE_ID
를 사용하여 기존의 명명된 범위를 삭제합니다. 두 번째는 DeleteProtectedRangeRequest
를 사용하여 이전 API 호출의 PROTECTED_RANGE_ID
를 사용하여 기존 범위 보호를 삭제합니다.
요청 프로토콜은 아래와 같습니다.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteNamedRange": { "namedRangeId": "NAMED_RANGE_ID
", } }, { "deleteProtectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, } } ] }
명명된 범위 또는 보호된 범위 업데이트
다음 spreadsheets.batchUpdate
코드 샘플은 요청 객체 2개를 사용하는 방법을 보여줍니다. 첫 번째는 UpdateNamedRangeRequest
를 사용하여 이전 API 호출의 NAMED_RANGE_ID
를 사용하여 기존 명명된 범위의 이름을 'InitialCounts'로 업데이트합니다. 두 번째는 UpdateProtectedRangeRequest
를 사용하여 기존의 보호된 범위를 업데이트하여 이제 동일한 이름의 범위를 보호합니다. Editors
메서드를 사용하면 나열된 사용자만 해당 셀을 수정할 수 있습니다. 이 요청은 이전 API 호출의 NAMED_RANGE_ID
및 PROTECTED_RANGE_ID
를 사용합니다.
요청 프로토콜은 아래와 같습니다.
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" } } ] }