Rentang bernama & dilindungi

Google Sheets API memungkinkan Anda membuat, mengubah, dan menghapus rentang bernama atau dilindungi. Contoh di halaman ini menggambarkan cara melakukan beberapa operasi Sheets yang umum dengan Sheets API.

Contoh-contoh ini ditampilkan dalam bentuk permintaan HTTP dengan bahasa yang netral. Untuk mempelajari cara mengimplementasikan update batch dalam berbagai bahasa menggunakan library klien Google API, lihat Mengupdate spreadsheet.

Dalam contoh ini, placeholder SPREADSHEET_ID dan SHEET_ID menunjukkan tempat Anda akan memberikan ID tersebut. Anda dapat menemukan ID spreadsheet di URL spreadsheet. Anda bisa mendapatkan ID sheet dengan menggunakan metode spreadsheets.get. Rentang ditentukan menggunakan notasi A1. Contoh rentangnya adalah Sheet1!A1:D5.

Selain itu, placeholder NAMED_RANGE_ID dan PROTECTED_RANGE_ID memberikan ID untuk rentang bernama dan dilindungi. namedRangeId dan protectedRangeId digunakan saat membuat permintaan untuk memperbarui atau menghapus rentang terkait. ID akan ditampilkan sebagai respons terhadap permintaan Sheets API yang membuat rentang bernama atau terlindungi. Anda bisa mendapatkan ID rentang yang sudah ada dengan metode spreadsheets.get, di isi respons Spreadsheet.

Tambahkan rentang bernama atau dilindungi

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan 2 objek permintaan. Yang pertama menggunakan AddNamedRangeRequest untuk menetapkan nama "Counts" untuk rentang A1:E3. Yang kedua menggunakan AddProtectedRangeRequest untuk melampirkan perlindungan tingkat peringatan ke rentang A4:E4. Perlindungan level ini masih memungkinkan sel dalam rentang untuk diedit, tetapi menampilkan peringatan sebelum melakukan perubahan.

Permintaan ini menampilkan AddNamedRangeResponse dan AddProtectedRangeResponse, yang berisi ID dan properti rentang.

Protokol permintaan ditampilkan di bawah ini.

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
        }
      }
    }
  ]
}

Hapus rentang bernama atau dilindungi

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan 2 objek permintaan. Yang pertama menggunakan DeleteNamedRangeRequest untuk menghapus rentang bernama yang ada, menggunakan NAMED_RANGE_ID dari panggilan API sebelumnya. Yang kedua menggunakan DeleteProtectedRangeRequest untuk menghapus perlindungan rentang yang sudah ada, menggunakan PROTECTED_RANGE_ID dari panggilan API sebelumnya.

Protokol permintaan ditampilkan di bawah ini.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteNamedRange": {
          "namedRangeId": "NAMED_RANGE_ID",
      }
    },
    {
      "deleteProtectedRange": {
        "protectedRangeId": PROTECTED_RANGE_ID,
      }
    }
  ]
}

Memperbarui rentang bernama atau dilindungi

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan 2 objek permintaan. Yang pertama menggunakan UpdateNamedRangeRequest untuk memperbarui nama rentang bernama yang ada menjadi "InitialCounts", menggunakan NAMED_RANGE_ID dari panggilan API sebelumnya. Yang kedua menggunakan UpdateProtectedRangeRequest untuk memperbarui rentang terlindungi yang sudah ada sehingga sekarang rentang tersebut melindungi rentang bernama yang sama. Metode Editors hanya mengizinkan pengguna yang tercantum untuk mengedit sel tersebut. Permintaan ini menggunakan NAMED_RANGE_ID dan PROTECTED_RANGE_ID dari panggilan API sebelumnya.

Protokol permintaan ditampilkan di bawah ini.

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"
      }
    }
  ]
}