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 tệp Google Drive.

Để xoá siêu dữ liệu khỏi tệp bằng cách huỷ đặt nhãn tệp, hãy sử dụng phương thức files.modifyLabels. Phần nội dung yêu cầu chứa một thực thể của ModifyLabelsRequest để sửa đổi tập hợp nhãn trên một tệp. Yêu cầu có thể chứa một số thay đổi được áp dụng một cách 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ó nội dung thay đổi nào (có thể phụ thuộc) được áp dụng.

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

Nếu thành công, nội dung phản hồi sẽ chứa các nhãn được thêm hoặc cập nhật theo yêu cầu. Các đối tượng 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 sử dụng fieldIdlabelId để huỷ thiết lập giá trị trường trên fileId được liên kết. Ví dụ: nếu một nhãn chứa cả trường văn bản và trường người dùng, thì việc huỷ đặt trường văn bản sẽ xoá trường đó khỏi nhãn nhưng không làm ảnh hưởng đến trường người dùng. Trong khi đó, việc xoá nhãn sẽ xoá cả văn bản và trường người dùng liên kết với nhãn đó. Để biết thêm thông tin, hãy xem bài viết 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ế nội dung sau:

  • FIELD_ID: fieldId của trường cần sửa đổi. Để tìm fieldId, hãy truy xuất nhãn bằng API Nhãn Google Drive.
  • LABEL_ID: labelId của nhãn cần sửa đổi.
  • FILE_ID: fileId của tệp mà nhãn được sửa đổi.