Huỷ đặt trường nhãn trên tệp

Trang này mô tả cách huỷ đặt nhãn Field trên một đĩa đơn tệp trên Google Drive.

Để xoá siêu dữ liệu khỏi một tệp bằng cách huỷ đặt nhãn tệp, hãy sử dụng Phương thức files.modifyLabels. Chiến lược phát hành đĩa đơn nội dung yêu cầu chứa một bản sao của ModifyLabelsRequest để sửa đổi nhóm nhãn trên tệp. Yêu cầu có thể chứa một số sửa đổi được áp dụng nguyên tử. Tức là, nếu có bất kỳ nội dung sửa đổi nào không hợp lệ thì toàn bộ quá trình cập nhật sẽ không thành công và không có cách nào (có thể phụ thuộc) sẽ được áp dụng.

ModifyLabelsRequest chứa một thực thể của LabelModification là sửa đổi đối với nhãn trên tệp. Tệp này cũng có thể chứa một phiên bản trong số FieldModification là sự sửa đổi đối với trường của nhãn. Để bỏ đặt các giá trị cho trường này, đặt FieldModification.unsetValues thành True.

Nếu thành công, phản hồi nội dung chứa các nhãn được thêm hoặc cập nhật theo yêu cầu. Các tham số này tồn tại trong một Đối tượng modifiedLabels thuộc loại Label.

Ví dụ:

Mã mẫu sau đây cho biết cách dùng fieldIdlabelId để huỷ đặt các giá trị trường trên fileId được liên kết. Ví dụ: nếu nhãn chứa cả trường văn bản và trường người dùng, khi bạn không đặt trường văn bản, trường văn bản sẽ bị xoá khỏi nhãn nhưng vẫn giữ nguyên trường người dùng. Trong khi việc xóa nhãn sẽ xóa cả trường văn bản và người dùng được liên kết với nhãn. Để biết thêm thông tin, hãy xem Xoá nhãn khỏi tệp.

Java

LabelFieldModification fieldModification =
  new LabelFieldModification().setFieldId("FIELD_ID").setUnsetValues(true);

ModifyLabelsRequest modifyLabelsRequest =
  new ModifyLabelsRequest()
      .setLabelModifications(
          ImmutableList.of(
              new LabelModification()
                .setLabelId("LABEL_ID")
                .setFieldModifications(ImmutableList.of(fieldModification))));

ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();

Python

field_modification = {'fieldId':'FIELD_ID','unsetValues':True}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}

modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();

Node.js

/**
* Unset a label with a field on a Drive file
* @return{obj} updated label data
**/
async function unsetLabelField() {
  // Get credentials and build service
  // TODO (developer) - Use appropriate auth mechanism for your app

  const {GoogleAuth} = require('google-auth-library');
  const {google} = require('googleapis');

  const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
  const service = google.drive({version: 'v3', auth});
  const fieldModification = {
    'fieldId': 'FIELD_ID',
    'unsetValues': True,
  };
  const labelModification = {
    'labelId': 'LABEL_ID',
    'fieldModifications': [fieldModification],
  };
  const labelModificationRequest = {
    'labelModifications': [labelModification],
  };
  try {
    const updateResponse = await service.files.modifyLabels({
      fileId: 'FILE_ID',
      resource: labelModificationRequest,
    });
    return updateResponse;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }
}

Thay thế đoạn mã sau:

  • FIELD_ID: fieldId của trường cần sửa đổi. Để định vị fieldId, hãy truy xuất nhãn bằng cách sử dụng API Nhãn của Google Drive.
  • LABEL_ID: labelId của nhãn cần sửa đổi.
  • FILE_ID: fileId của tệp có nhãn sửa đổi.