Trang này mô tả cách đặt nhãn
Field
trên một đĩa đơn
tệp trên Google Drive.
Để thêm siêu dữ liệu vào tệp bằng cách đặ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.
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 fieldId
của một trường văn bản để đặt
một giá trị cho Field
này trên
. Khi nhãn Field
được đặt lần đầu trên một tệp, nhãn này sẽ áp dụng nhãn cho
tệp. Sau đó, bạn có thể huỷ thiết lập một trường duy nhất hoặc xoá tất cả các trường đã liên kết với
nhãn. Để biết thêm thông tin, hãy xem phần Bỏ đặt trường nhãn trên
tệp và Xoá nhãn khỏi
.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));
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','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute()
Node.js
/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
// 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',
'setTextValues': ['VALUE'],
};
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. - VALUE:
value
mới cho trường này. - 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.
Ghi chú
- Để đặt nhãn không có trường, hãy áp dụng
labelModifications
mà không có trường Hiện tại:fieldModifications
. - Để đặt giá trị cho các tùy chọn của trường lựa chọn, hãy sử dụng
Mã
Choice
của giá trị mà bạn có thể nhận được bằng cách tìm nạp giản đồ nhãn trong API Nhãn Drive. - Chỉ một
Field
hỗ trợ danh sách giá trị mới có thể đặt nhiều giá trị, nếu không, bạn sẽ nhận được phản hồi lỗi400: Bad Request
. - Đặt loại giá trị thích hợp cho
Field
đã chọn (chẳng hạn như số nguyên, văn bản, người dùng, v.v.), nếu không, bạn sẽ nhận được phản hồi lỗi400: Bad Request
. Bạn có thể truy xuất loại dữ liệu trường bằng cách sử dụng API Drive Nhãn.