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 nội dung cập nhật trong bản cập nhật hàng loạt được áp dụng một cách riêng lẻ. 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 nháp sửa đổi 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.
Các 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ể.
Cập nhật yêu cầu
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:
useAdminAccesslà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
Requestchỉ định các nội dung cập nhật áp dụng cho nhãn.Nhãn
titlethô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
NamevàID, đây là giá trị nhận dạng riêng biệt trên toàn cầu cho nhãn.LabelViewlà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_FULLtrả 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 đã 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 phần Vòng đời của nhãn.