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 để tạo ra 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ả nhãn ) hoặc thêm một Field mới vào nhãn.

Tính năng cập nhật nhãn hoạt động như một bản cập nhật theo lô vì phương thức này lấy một danh sách các đối tượng cập nhật Request. Tính năng này thực hiện các bản cập nhật theo cùng một 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 theo lô được áp dụng một cách nguyên tử. Tức là nếu bất kỳ yêu cầu nào trong lô không thành công, thì toàn bộ bản cập nhật sẽ không thành công và không có thay đổi nào (có khả năng phụ thuộc) được áp dụng. Nhãn vẫn không thay đổi.

Nếu bản cập nhật thành công, bạn phải phát hành bản sửa đổi nháp kết quả 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

Một nhãn bao gồm nhiều loại đối tượng khác có thể được cập nhật, 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 số trong số 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 được 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ạ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 sử 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 Yêu cầu, mỗi đối tượng chỉ định một loại yêu cầu duy nhất để thực hiện. Có nhiều loại yêu cầu khác nhau. 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
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ạ trường

Nhiều yêu cầu thuộc loại "Cập nhật" và "Tắt" yêu cầu 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 để các trường khác không thay đổi. Bạn 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 sử dụng phương thức delta trên tập hợp labels.

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

  • useAdminAccesstrue để sử dụng thông tin đăng nhập của quản trị viên của người dùng. Máy chủ sẽ 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.

  • A Request mà chỉ định các bản cập nhật áp dụng cho nhãn.

  • A label 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. Tài nguyên này chứa NameID, là giá trị nhận dạng duy nhất trên toàn cầu cho nhãn.

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