Halaman ini menjelaskan cara membatalkan penetapan label
Field
pada satu
file Google Drive.
Untuk menghapus metadata dari file dengan membatalkan penetapan label file, gunakan
metode files.modifyLabels
. Isi permintaan
berisi instance
ModifyLabelsRequest
untuk mengubah kumpulan label pada file. Permintaan tersebut mungkin berisi beberapa modifikasi yang diterapkan secara atomik. Artinya, jika perubahan apa pun tidak
valid, seluruh update akan gagal dan tidak ada perubahan (yang mungkin
bergantung) yang diterapkan.
ModifyLabelsRequest
berisi instance
LabelModification
yang merupakan modifikasi pada label pada file. Class ini juga dapat berisi instance
FieldModification
yang merupakan modifikasi pada kolom label. Untuk membatalkan penetapan nilai kolom,
tetapkan FieldModification.unsetValues
ke True
.
Jika berhasil, isi respons akan berisi label yang ditambahkan atau diperbarui oleh permintaan. Class ini berada dalam
objek modifiedLabels
dengan jenis Label
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan fieldId
dan labelId
untuk membatalkan penetapan
nilai kolom pada fileId
terkait. Misalnya, jika label berisi
kolom teks dan pengguna, membatalkan penetapan kolom teks akan menghapusnya dari label,
tetapi tidak mengubah kolom pengguna. Jika menghapus label, baik kolom teks maupun kolom pengguna yang terkait dengan label tersebut akan dihapus. Untuk mengetahui informasi selengkapnya, lihat
Menghapus label dari file.
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;
}
}
Ganti kode berikut:
- FIELD_ID:
fieldId
kolom yang akan diubah. Untuk menemukanfieldId
, ambil label menggunakan Google Drive Labels API. - LABEL_ID:
labelId
label yang akan diubah. - FILE_ID:
fileId
file yang labelnya dimodifikasi.