Halaman ini menjelaskan cara menetapkan label
Field
pada satu
File Google Drive.
Untuk menambahkan metadata ke file dengan menyetel label file, gunakan
Metode files.modifyLabels
. Tujuan
isi permintaan
berisi instance
ModifyLabelsRequest
untuk mengubah seperangkat label pada sebuah file. Permintaan mungkin berisi beberapa
modifikasi yang diterapkan secara atomik. Artinya, jika
setiap modifikasi tidak
valid, maka seluruh pembaruan akan gagal dan tidak ada satu pun (kemungkinan
dependen) akan diterapkan.
ModifyLabelsRequest
berisi instance
LabelModification
yang merupakan modifikasi
pada label pada file. Pesan ini mungkin juga berisi instance
pengguna
FieldModification
yang merupakan modifikasi
pada isian label.
Jika berhasil, respons
isi berisi
label yang ditambahkan atau
diperbarui oleh permintaan. Keduanya tersedia dalam
Objek modifiedLabels
dengan jenis Label
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan fieldId
kolom teks untuk menetapkan
nilai untuk Field
ini di elemen
. Jika label Field
pertama kali ditetapkan pada file, label tersebut akan diterapkan ke
file tersebut. Kemudian, Anda dapat membatalkan penetapan satu kolom atau menghapus semua kolom yang terkait dengan
pada label. Untuk informasi selengkapnya, lihat Membatalkan setelan kolom label pada
dan Hapus label dari
Anda.
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 diberi label diubah.
Catatan
- Untuk menetapkan label tanpa kolom, terapkan
labelModifications
tanpafieldModifications
sekarang. - Untuk menetapkan nilai bagi opsi kolom pilihan, gunakan
ID
Choice
nilai yang bisa Anda dapatkan dengan mengambil skema label di Drive Labels API. - Hanya
Field
yang mendukung daftar nilai yang dapat memiliki beberapa nilai yang ditetapkan, jika tidak, Anda akan menerima respons error400: Bad Request
. - Setel jenis nilai yang tepat untuk
Field
yang dipilih (seperti bilangan bulat, teks, , dll.), jika tidak, Anda akan menerima respons error400: Bad Request
. Anda bisa mengambil tipe data bidang menggunakan metode Drive Labels API.