이름이 지정되고 보호된 범위

Google Sheets API를 사용하면 이름이나 보호된 파일을 만들고 수정하고 삭제할 수 있습니다. 확인할 수 있습니다 이 페이지의 예시는 일반적인 Sheets API를 사용한 Sheets 작업

이 예는 언어적 표현인 HTTP 요청의 형식으로 중립적입니다. 다음을 사용하여 다양한 언어로 일괄 업데이트를 구현하는 방법을 알아봅니다. 자세한 내용은 업데이트 스프레드시트를 사용합니다.

이 예에서 SPREADSHEET_IDSHEET_ID 자리표시자는 는 해당 ID를 제공할 위치를 나타냅니다. 스프레드시트 ID를 입력합니다. 얻을 수 있는 혜택 시트 IDspreadsheets.get 메서드를 사용하여 지도 가장자리에 패딩을 추가할 수 있습니다. 이 A1 표기법을 사용하여 범위를 지정합니다. 예시 범위는 Sheet1!A1:D5입니다.

또한 NAMED_RANGE_IDPROTECTED_RANGE_ID 자리표시자는 이름이 지정된 범위와 보호된 범위의 ID를 제공합니다. namedRangeIdprotectedRangeId는 관련 범위를 벗어납니다. Sheets API에 대한 응답으로 ID가 반환됩니다. 이 요청은 이름이 지정되거나 보호된 범위를 생성합니다. 기존 클러스터의 ID를 가져와서 나와 있는 spreadsheets.get 메서드, Spreadsheet 응답 본문입니다.

이름이 지정되거나 보호된 범위 추가

다음 spreadsheets.batchUpdate 코드 샘플은 요청 객체 2개를 사용하는 방법을 보여줍니다. 첫 번째는 AddNamedRangeRequest 범위 A1:E3에 '개수'라는 이름을 할당합니다. 두 번째는 AddProtectedRangeRequest A4:E4 범위에 경고 수준 보호를 연결합니다. 이 수준 보호 범위 내의 셀을 계속 수정할 수 있지만 있습니다.

이러한 요청은 AddNamedRangeResponseAddProtectedRangeResponse, 범위 ID와 속성이 포함되어 있습니다.

요청 프로토콜은 아래와 같습니다.

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 를 사용하여 기존에 지정된 범위를 삭제하려면 NAMED_RANGE_ID 이전 API 호출 두 번째는 DeleteProtectedRangeRequest PROTECTED_RANGE_ID를 사용하여 기존 범위 보호를 삭제합니다. 이전 API 호출에서 가져온 것입니다.

요청 프로토콜은 아래와 같습니다.

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 NAMED_RANGE_ID를 사용하여 이름이 지정된 기존 범위의 이름을 'InitialCounts'로 업데이트 이전 API 호출에서 가져온 것입니다. 두 번째는 UpdateProtectedRangeRequest 기존의 보호된 범위를 업데이트하여 이제 범위입니다. 이 Editors 메서드 나열된 사용자만 해당 셀을 수정할 수 있습니다. 이 요청은 NAMED_RANGE_ID 및 이전 API 호출의 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"
      }
    }
  ]
}