&Các dải ô được bảo vệ &

API Google Trang tính cho phép bạn tạo, sửa đổi và xoá đã đặt tên hoặc được bảo vệ phạm vi ngày. Các ví dụ trên trang này minh hoạ cách bạn có thể đạt được một số Thao tác trên Trang tính với API Trang tính.

Những ví dụ này được trình bày dưới dạng các yêu cầu HTTP để trở thành ngôn ngữ bình thường. Để tìm hiểu cách triển khai quá trình cập nhật theo lô bằng nhiều ngôn ngữ bằng cách sử dụng thư viện ứng dụng API của Google, hãy xem phần Cập nhật bảng tính.

Trong những ví dụ này, phần giữ chỗ SPREADSHEET_IDSHEET_ID cho biết nơi bạn sẽ cung cấp các mã đó. Bạn có thể tìm thấy bảng tính Mã nhận dạng trong URL của bảng tính. Bạn có thể tải mã trang tính bằng cách sử dụng spreadsheets.get. Chiến lược phát hành đĩa đơn dải ô được chỉ định bằng ký hiệu A1. Một dải ô mẫu là Sheet1!A1:D5.

Ngoài ra, các phần giữ chỗ NAMED_RANGE_IDPROTECTED_RANGE_ID cung cấp mã nhận dạng cho dải ô được đặt tên và được bảo vệ. namedRangeIdprotectedRangeId được dùng khi yêu cầu cập nhật hoặc xoá dải ô được liên kết. Mã nhận dạng được trả về khi phản hồi API Trang tính để tạo một dải ô được đặt tên hoặc được bảo vệ. Bạn có thể lấy mã nhận dạng của các giao dịch hiện tại có phạm vi với Phương thức spreadsheets.get, trong thời gian Spreadsheet nội dung phản hồi.

Thêm dải ô được đặt tên hoặc được bảo vệ

Nội dung sau đây spreadsheets.batchUpdate mã mẫu cho biết cách sử dụng 2 đối tượng yêu cầu. Chiến dịch đầu tiên sử dụng AddNamedRangeRequest để gán tên cho dải ô A1:E3 là "Đếm". Chiến dịch thứ hai sử dụng AddProtectedRangeRequest để đính kèm biện pháp bảo vệ cấp cảnh báo vào phạm vi A4:E4. Tính năng bảo vệ ở cấp độ này vẫn cho phép chỉnh sửa các ô trong dải ô nhưng sẽ hiện một cảnh báo trước thực hiện thay đổi.

Các yêu cầu này trả về một AddNamedRangeResponse và một AddProtectedRangeResponse! chứa mã dải ô và thuộc tính.

Giao thức yêu cầu được trình bày dưới đây.

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

Xóa dải ô được đặt tên hoặc được bảo vệ

Nội dung sau đây spreadsheets.batchUpdate mã mẫu cho biết cách sử dụng 2 đối tượng yêu cầu. Chiến dịch đầu tiên sử dụng DeleteNamedRangeRequest để xoá dải ô được đặt tên hiện có, sử dụng NAMED_RANGE_ID từ một dải ô lệnh gọi API trước đó. Chiến dịch thứ hai sử dụng DeleteProtectedRangeRequest để xoá một biện pháp bảo vệ dải ô hiện có bằng PROTECTED_RANGE_ID từ lệnh gọi API trước đó.

Giao thức yêu cầu được trình bày dưới đây.

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

Cập nhật dải ô được đặt tên hoặc được bảo vệ

Nội dung sau đây spreadsheets.batchUpdate mã mẫu cho biết cách sử dụng 2 đối tượng yêu cầu. Chiến dịch đầu tiên sử dụng UpdateNamedRangeRequest để cập nhật tên của một dải ô được đặt tên hiện có thành "InitialCounts", sử dụng NAMED_RANGE_ID từ lệnh gọi API trước đó. Chiến dịch thứ hai sử dụng UpdateProtectedRangeRequest cập nhật một dải ô được bảo vệ hiện có để dải ô đó hiện bảo vệ cùng một dải ô được đặt tên dải ô. Chiến lược phát hành đĩa đơn Phương thức Editors chỉ cho phép người dùng được liệt kê chỉnh sửa các ô đó. Yêu cầu này sử dụng NAMED_RANGE_IDPROTECTED_RANGE_ID từ các lệnh gọi API trước đó.

Giao thức yêu cầu được trình bày dưới đây.

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