Cập nhật nhãn

Bạn có thể cập nhật một nhãn duy nhất bằng cách áp dụng một nhóm yêu cầu cập nhật, kết quả là bản sửa đổi nháp mới. Ví dụ: bạn có thể cập nhật một nhãn hiện có thuộc tính (nhãn mô tả) hoặc bạn có thể thêm Field vào nhãn.

Cập nhật nhãn hoạt động như cập nhật theo lô khi phương thức lấy danh sách cập nhật Đối tượng Request. Nó thực hiện cập nhật theo cùng một thứ tự được chỉ định trong yêu cầu hàng loạt. Chiến lược phát hành đĩa đơn các bản cập nhật trong quá trình cập nhật hàng loạt được áp dụng một cách tỉ mỉ. Tức là, nếu có yêu cầu trong lô không thành công, khi đó toàn bộ cập nhật không thành công và không có các thay đổi (có thể phụ thuộc) được áp dụng. Nhãn này không thay đổi.

Nếu cập nhật thành công thì bản sửa đổi nháp kết quả 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
  • Các 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 một nhãn.

Danh mục hoạt động

Các thao tác sau được hỗ trợ bởi Phương thức labels.delta có thể là được nhóm thành các danh mục chính như 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 một đối tượng.
BậtBật đối tượng.
TắtVô hiệu hoá đối tượng.
XóaXoá đố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 có hiệu quả bằng cách lấy một hoặc nhiều Đối tượng Request (Yêu cầu) cho mỗi đối tượng một loại yêu cầu chỉ định một loại yêu cầu cần thực hiện. Có nhiều giải pháp các loại yêu cầu. 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
Xóa DeleteFieldRequest
Lựa chọn
Tạo CreateSelectionChoiceRequest
Cập nhật UpdateSelectionChoicePropertiesRequest
Bật EnableSelectionChoiceRequest
Tắt DisableSelectionChoiceRequest
Xóa DeleteSelectionChoiceRequest

Mặt nạ trường

Nhiều phần "Cập nhật" và "Tắt" yêu cầu loại 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 rời khỏi các trường khác không thay đổi. Bạn phải đeo mặt nạ để đảm bảo chỉ có các 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 Bộ sưu tập labels.

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

  • useAdminAccess true để sử dụng thông tin xác thực quản trị viên của người dùng. Chiến lược phát hành đĩa đơn máy chủ xác minh 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 bản cập nhật hiện hành cho nhãn.

  • Nhãn title thông qua property.

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

  • Tài nguyên nhãn đại diện cho mọi nhãn. Tệp này chứa tài nguyên 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ị Resource (Tài nguyên) áp dụng cho phản hồi của nhãn. LABEL_VIEW_FULL trả về mọi trường có thể.

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