Rentang bernama & dilindungi

Google Sheets API memungkinkan Anda membuat, mengubah, dan menghapus yang diberi nama atau dilindungi rentang. Contoh di halaman ini menggambarkan bagaimana Anda dapat mencapai beberapa Operasi Spreadsheet dengan Sheets API.

Contoh ini disajikan dalam bentuk permintaan HTTP untuk memilih bahasa netral. Untuk mempelajari cara mengimplementasikan update secara batch dalam berbagai bahasa menggunakan library klien Google API, lihat Memperbarui di spreadsheet.

Dalam contoh ini, placeholder SPREADSHEET_ID dan SHEET_ID menunjukkan di mana Anda akan memberikan ID tersebut. Anda dapat menemukan spreadsheet ID di URL spreadsheet. Anda bisa mendapatkan sheet ID dengan menggunakan Metode spreadsheets.get. Tujuan rentang ditentukan menggunakan notasi A1. Channel contohnya adalah Sheet1!A1:D5.

Selain itu, placeholder NAMED_RANGE_ID dan PROTECTED_RANGE_ID berikan ID rentang bernama dan dilindungi. namedRangeId dan protectedRangeId digunakan saat membuat permintaan untuk memperbarui atau menghapus rentang yang terkait. ID ditampilkan sebagai respons terhadap Sheets API yang membuat rentang bernama atau dilindungi. Anda bisa mendapatkan ID dari rentang dengan nilai Metode spreadsheets.get, di tindakan Spreadsheet isi respons.

Tambahkan rentang bernama atau dilindungi

Hal berikut spreadsheets.batchUpdate contoh kode menunjukkan cara menggunakan 2 objek permintaan. Yang pertama menggunakan AddNamedRangeRequest beri nama "Jumlah" pada rentang A1:E3. Yang kedua menggunakan AddProtectedRangeRequest untuk memasang 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 akan menampilkan AddNamedRangeResponse dan AddProtectedRangeResponse, yang berisi properti dan ID 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

Hal berikut spreadsheets.batchUpdate contoh kode 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 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

Hal berikut spreadsheets.batchUpdate contoh kode 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 dilindungi yang ada sehingga sekarang melindungi rentang {i>range<i}. Tujuan Metode Editors hanya memungkinkan pengguna yang terdaftar untuk mengedit sel-sel itu. 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"
      }
    }
  ]
}