Cập nhật nhãn

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 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ó (nội dung mô tả về nhãn) hoặc thêm Field mới vào nhãn.

Quá trình cập nhật nhãn hoạt động dưới dạng cập nhật hàng loạt vì phương thức này sẽ lấy danh sách đối tượng Request cập nhật. Hàm này thực hiện cập nhật theo cùng thứ tự đã chỉ định trong yêu cầu theo lô. Các nội dung cập nhật trong bản cập nhật theo lô được áp dụng tỉ mỉ. Nghĩa là nếu bất kỳ 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 cập nhật thành công, bản sửa đổi nháp đã được phát hành phải được xuất bản 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 đối tượng nhãn

Nhãn bao gồm nhiều loại đối tượng khác có thể cập nhật được, chẳng hạn như:

  • Thuộc tính nhãn
  • Trường và loại trường
  • Lựa chọn và thuộc tính lựa chọn

Đây là một vài trong số nhiều đối tượng kiểm soát sự xuất hiện và hoạt động của nhãn.

Loại hình hoạt động

Các thao tác mà phương thức labels.delta hỗ trợ sau đây có thể được nhóm thành các danh mục chính sau đây:

Danh mục Nội dung mô tả
TạoThêm đối tượng.
Cập nhậtCập nhật một số thuộc tính của đối tượng.
BậtBật đối tượng.
TắtTắt đối tượng.
XoáXoá đối tượng.

Các 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 (Yêu cầu), mỗi đối tượng chỉ định một loại yêu cầu để thực hiện. Có nhiều loại yêu cầu khác nhau. Dưới đây là bảng chi tiết về các loại yêu cầu, được nhóm thành các danh mục khác nhau.

Loại yêu cầu
Thuộc tính nhãn
Cập nhật UpdateLabelPropertiesRequest
Trường
Tạo CreateFieldRequest
Cập nhật UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
Bật EnableFieldRequest
Tắt DisableFieldRequest
Xoá DeleteFieldRequest
Lựa chọn
Tạo CreateSelectionChoiceRequest
Cập nhật UpdateSelectionChoicePropertiesRequest
Bật EnableSelectionChoiceRequest
Tắt DisableSelectionChoiceRequest
Xoá DeleteSelectionChoiceRequest

Mặt nạ cho cánh đồng

Nhiều yêu cầu loại "Cập nhật" và "Vô hiệu hoá" 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 vẫn giữ nguyên các trường khác. Bạn bắt buộc phải có mặt nạ để đảm bảo chỉ những trường mà bạn muốn chỉnh sửa mới đượ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 dùng phương thức delta trên bộ sưu tập labels.

Bạn cũng phải chỉ định:

  • useAdminAccess được 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.

  • Request chỉ định các nội dung cập nhật thích hợp cho nhãn.

  • Nhãn title thông qua phương thức property.

  • Một hoặc nhiều Field.

  • Tài nguyên nhãn đại diện cho mọi nhãn. Gói này chứa tài nguyên NameID. Đây là giá trị nhận dạng duy nhất trên toàn hệ thống của nhãn.

  • LabelViewLABEL_VIEW_FULL để đặt chế độ xem Resource (Tài nguyên) được áp dụng cho phản hồi của 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 đúng nhãn.

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ã 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 có State của PUBLISHED với hasUnpublishedChanges=true nghĩa là có các thay đổi nháp, nhưng người dùng không thấy các thay đổi đó. Nhãn được cập nhật phải là PUBLISHED trước khi các thay đổi hiển thị cho người dùng. Để biết thêm thông tin, hãy xem phần Vòng đời của nhãn.