API Google Trang tính cho phép bạn tạo, sửa đổi và xoá các dải ô được đặt tên hoặc được bảo vệ. Các ví dụ trên trang này minh hoạ cách bạn có thể thực hiện một số thao tác phổ biến trên Trang tính bằng API Trang tính.
Các ví dụ này được trình bày dưới dạng yêu cầu HTTP để không phụ thuộc vào ngôn ngữ. Để tìm hiểu cách triển khai bản cập nhật theo lô bằng nhiều ngôn ngữ thông qua thư viện ứng dụng API của Google, hãy xem bài viết Cập nhật bảng tính.
Trong các ví dụ này, phần giữ chỗ SPREADSHEET_ID và SHEET_ID
cho biết vị trí mà bạn sẽ cung cấp các mã nhận dạng đó. Bạn có thể tìm thấy mã nhận dạng
bảng tính trong URL của bảng tính. Bạn có thể lấy
mã nhận dạng trang tính bằng cách sử dụng
spreadsheets.get phương thức. Các
dải ô được chỉ định bằng ký hiệu A1. Ví dụ về một dải ô là Trang tính1!A1:D5.
Ngoài ra, phần giữ chỗ NAMED_RANGE_ID và PROTECTED_RANGE_ID cung cấp mã nhận dạng cho các dải ô được đặt tên và được bảo vệ. namedRangeId và protectedRangeId được dùng khi đưa ra yêu cầu cập nhật hoặc xoá các dải ô được liên kết. Mã nhận dạng được trả về trong phản hồi cho yêu cầu API Trang tính tạo dải ô được đặt tên hoặc dải ô được bảo vệ. Bạn có thể lấy mã nhận dạng của các dải ô hiện có
bằng phương thức
spreadsheets.get trong
nội dung phản hồi
Spreadsheet.
Thêm dải ô được đặt tên hoặc được bảo vệ
Mã mẫu
spreadsheets.batchUpdate
sau đây cho biết cách sử dụng 2 đối tượng yêu cầu. Đối tượng đầu tiên sử dụng
AddNamedRangeRequest
để gán tên "Counts" cho dải ô A1:E3. Đối tượng thứ hai sử dụng
AddProtectedRangeRequest
để đính kèm một lớp bảo vệ cảnh báo vào dải ô A4:E4. Lớp bảo vệ này vẫn cho phép chỉnh sửa các ô trong dải ô, nhưng sẽ đưa ra cảnh báo trước khi thực hiện thay đổi.
Các yêu cầu này trả về an
AddNamedRangeResponse
và an
AddProtectedRangeResponse,
chứa mã nhận dạng và thuộc tính của dải ô.
Giao thức yêu cầu được trình bày bên dưới.
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
}
}
}
]
}Xoá dải ô được đặt tên hoặc được bảo vệ
Mã mẫu
spreadsheets.batchUpdate
sau đây cho biết cách sử dụng 2 đối tượng yêu cầu. Đối tượng đầu tiên sử dụng
DeleteNamedRangeRequest
để xoá một dải ô được đặt tên hiện có, sử dụng NAMED_RANGE_ID từ một
lệnh gọi API trước đó. Đối tượng thứ hai sử dụng
DeleteProtectedRangeRequest
để xoá một biện pháp bảo vệ dải ô hiện có, sử dụng PROTECTED_RANGE_ID
từ một lệnh gọi API trước đó.
Giao thức yêu cầu được trình bày bên dưới.
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ệ
Mã mẫu
spreadsheets.batchUpdate
sau đây cho biết cách sử dụng 2 đối tượng yêu cầu. Đối tượng đầ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ừ một lệnh gọi API trước đó. Đối tượng thứ hai sử dụng
UpdateProtectedRangeRequest
để cập nhật một dải ô được bảo vệ hiện có sao cho dải ô đó hiện bảo vệ cùng một dải ô được đặt tên. Phương thức
Editors
chỉ cho phép những 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_ID và PROTECTED_RANGE_ID từ các lệnh gọi API trước đó.
Giao thức yêu cầu được trình bày bên dưới.
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" } } ] }