Bạn có thể cập nhật một nhãn bằng cách áp dụng một nhóm yêu cầu cập nhật, dẫn đến một bản sửa đổi bản nháp mới. Ví dụ: bạn có thể cập nhật một thuộc tính nhãn hiện có (phần mô tả nhãn) hoặc bạn có thể thêm một Field
mới vào nhãn.
Thao tác cập nhật nhãn hoạt động như một thao tác cập nhật hàng loạt vì phương thức này lấy một danh sách các đối tượng Request
cần cập nhật. Thao tác này sẽ cập nhật theo cùng thứ tự được chỉ định trong yêu cầu hàng loạt. Các bản cập nhật trong bản cập nhật hàng loạt được áp dụng một cách nguyên tử. Tức là nếu có yêu cầu nào đó trong lô không thành công, thì toàn bộ quá trình cập nhật sẽ không thành công và không có thay đổi nào (có thể phụ thuộc) được áp dụng. Nhãn này vẫn giữ nguyên.
Nếu quá trình cập nhật thành công, bạn phải xuất bản bản sửa đổi nháp thu được trước khi có thể sử dụng các thay đổi với bất kỳ mục nào trên Drive.
Cập nhật các đối tượng nhãn
Nhãn bao gồm nhiều loại đối tượng khác mà bạn có thể cập nhật, chẳng hạn như:
- Thuộc tính nhãn
- Trường và loại trường
- Các lựa chọn và thuộc tính của lựa chọn
Đây là một số trong nhiều đối tượng kiểm soát giao diện và hoạt động của nhãn.
Danh mục hoạt động
Các thao tác sau đây mà phương thức labels.delta
hỗ trợ có thể được nhóm thành các danh mục lớn sau:
Danh mục | Mô tả |
---|---|
Tạo | Thêm đối tượng. |
Cập nhật | Cập nhật một số thuộc tính của một đối tượng. |
Bật | Bật các đối tượng. |
Tắt | Tắt các đối tượng. |
Xoá | Xoá các đối tượng. |
Những danh mục này được dùng trong phần tiếp theo để mô tả hành vi của các thao tác cụ thể.
Yêu cầu cập nhật
Phương thức labels.delta
hoạt động bằng cách lấy một hoặc nhiều đối tượng Request, mỗi đối tượng chỉ định một loại yêu cầu duy nhất cần thực hiện. Có nhiều loại yêu cầu. Sau đây là thông tin chi tiết về các loại yêu cầu, được nhóm thành nhiều danh mục.
Loại yêu cầu | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thuộc tính nhãn |
|
||||||||||
Trường |
|
||||||||||
Lựa chọn |
|
Mặt nạ trường
Nhiều yêu cầu thuộc loại "Cập nhật" và "Tắt" yêu cầu phải có FieldMask
.
Đây là danh sách các trường được phân tách bằng dấu phẩy mà bạn muốn cập nhật trong khi giữ nguyên các trường khác. Bạn phải sử dụng mặt nạ để đảm bảo chỉ những trường mà bạn muốn chỉnh sửa được cập nhật. Bạn phải chỉ định ít nhất một trường.
Ví dụ:
Để cập nhật nhãn, hãy sử dụng phương thức delta
trên tập hợp labels
.
Bạn cũng phải chỉ định:
useAdminAccess
làtrue
để sử dụng thông tin đăng nhập quản trị viên của người dùng. Máy chủ xác minh rằng người dùng là quản trị viên của nhãn trước khi cho phép truy cập.Một
Request
chỉ định các nội dung cập nhật áp dụng cho nhãn.Nhãn
title
thông qua phương thứcproperty
.Một hoặc nhiều
Field
.Một Tài nguyên nhãn đại diện cho mọi nhãn. Nó chứa một tài nguyên
Name
vàID
. Đây là giá trị nhận dạng riêng biệt trên toàn cầu cho nhãn.LabelView
làLABEL_VIEW_FULL
để đặt Chế độ xem tài nguyên được áp dụng cho các phản hồi nhãn.LABEL_VIEW_FULL
trả về tất cả các trường có thể có.
Ví dụ này sử dụng ID
để cập nhật nhãn chính xác.
Python
body = {
'use_admin_access': True,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE'
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME'
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID').execute()
Node.js
var body = {
'use_admin_access': true,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE'
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME'
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
'resource': body,
'name': 'labels/ID'
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
Nhãn, trường hoặc lựa chọn được cập nhật, mã nhận dạng bản sửa đổi của nhãn sẽ tăng lên và nhãn được lưu trữ trong cơ sở dữ liệu dưới dạng nhãn nháp. Nhãn này có State
của PUBLISHED
với hasUnpublishedChanges=true
, tức là có các thay đổi nháp nhưng người dùng không thể sử dụng. Nhãn mới cập nhật phải là PUBLISHED
thì người dùng mới thấy được các thay đổi. Để biết thêm thông tin, hãy xem bài viết Vòng đời của nhãn.