Trang này mô tả cách huỷ đặt nhãn Field
cho một tệp 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 dùng phương thức files.modifyLabels
. 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 tệp. Yêu cầu này có thể chứa một số nội dung sửa đổi được áp dụng tỉ mỉ. Nghĩa là nếu 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ó thay đổi nào (có thể phụ thuộc) được áp dụng.
ModifyLabelsRequest
chứa một bản sao của LabelModification
, là một bản sửa đổi đối với nhãn trên tệp. Tệp này cũng có thể chứa một bản sao của FieldModification
. Đây là một bản sửa đổi đối với trường của nhãn. Để huỷ đặt các 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 tham số này tồn tại trong đối tượng modifiedLabels
thuộc loại Label
.
Ví dụ:
Mã mẫu sau đây cho biết cách sử dụng fieldId
và labelId
để huỷ đặt các giá trị trường trên fileId
đã 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ì khi bạn bỏ thiết lập trường văn bản, nhã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 xoá nhãn sẽ xoá cả trường 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 phần 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. Để tìmfieldId
, hãy truy xuất nhãn bằ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 mà nhãn được sửa đổi.