Halaman ini menjelaskan cara menetapkan label
Field pada satu
file Google Drive.
Untuk menambahkan metadata ke file dengan menetapkan label file, gunakan metode
files.modifyLabels. Isi permintaan berisi instance ModifyLabelsRequest untuk mengubah kumpulan label pada file. Permintaan dapat berisi beberapa modifikasi yang diterapkan secara atomik. Artinya, jika ada modifikasi yang tidak valid, seluruh pembaruan akan gagal dan tidak ada perubahan (yang mungkin bergantung) yang diterapkan.
ModifyLabelsRequest berisi instance
LabelModification
yang merupakan modifikasi pada label di file. Modifikasi ini juga dapat berisi instance
of
FieldModification
, yang merupakan modifikasi pada kolom label.
Jika berhasil, isi
respons akan berisi
label yang ditambahkan atau diperbarui oleh permintaan. Label ini ada dalam objek
modifiedLabels berjenis Label.
Contoh
Contoh kode berikut menunjukkan cara menggunakan fieldId kolom teks untuk menetapkan
nilai untuk Field ini pada
file. Saat Field label awalnya ditetapkan pada file, label tersebut akan diterapkan ke file. Kemudian, Anda dapat membatalkan setelan satu kolom atau menghapus semua kolom yang terkait dengan label. Untuk mengetahui informasi selengkapnya, lihat Membatalkan setelan kolom label pada
file dan Menghapus label dari
file.
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;
}
}
Ganti kode berikut:
- FIELD_ID:
fieldIdkolom yang akan diubah. Untuk menemukanfieldId, ambil label menggunakan Google Drive Labels API. - VALUE:
valuebaru untuk kolom ini. - LABEL_ID:
labelIdlabel yang akan diubah. - FILE_ID:
fileIdfile yang labelnya diubah.
Catatan
- Untuk menetapkan label tanpa kolom, terapkan
labelModificationstanpafieldModifications. - Untuk menetapkan nilai bagi opsi kolom pilihan, gunakan
ChoiceID nilai yang dapat Anda peroleh dengan mengambil skema label di Drive Labels API. - Hanya
Fieldyang mendukung daftar nilai yang dapat memiliki beberapa nilai yang ditetapkan. Jika tidak, Anda akan menerima respons error400: Bad Request. - Tetapkan jenis nilai yang tepat untuk
Fieldyang dipilih (seperti bilangan bulat, teks, pengguna, dll.). Jika tidak, Anda akan menerima respons error400: Bad Request. Anda dapat mengambil jenis data kolom menggunakan Drive Labels API.