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 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.
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
kolom teks guna menetapkan
nilai untuk Field
ini pada
file. Saat label Field
awalnya ditetapkan pada file, label tersebut akan diterapkan ke
file tersebut. Kemudian, Anda dapat membatalkan penetapan satu kolom atau menghapus semua kolom yang terkait dengan label tersebut. Untuk mengetahui informasi selengkapnya, lihat Membatalkan penetapan kolom label di
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:
fieldId
kolom yang akan diubah. Untuk menemukanfieldId
, ambil label menggunakan Google Drive Labels API. - VALUE:
value
baru untuk kolom ini. - LABEL_ID:
labelId
label yang akan diubah. - FILE_ID:
fileId
file yang labelnya dimodifikasi.
Catatan
- Untuk menetapkan label tanpa kolom, terapkan
labelModifications
tanpa adanyafieldModifications
. - Guna menetapkan nilai untuk opsi kolom pilihan, gunakan
ID
Choice
dari nilai yang bisa Anda dapatkan dengan mengambil skema label di Drive Labels API. - Beberapa nilai hanya dapat ditetapkan pada
Field
yang mendukung daftar nilai. Jika tidak, Anda akan menerima respons error400: Bad Request
. - Setel jenis nilai yang sesuai untuk
Field
yang 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.