Membatalkan penetapan kolom label pada file

Halaman ini menjelaskan cara menghapus 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 mungkin berisi beberapa perubahan yang diterapkan secara atomik. Artinya, jika modifikasi apa pun tidak valid, seluruh update tidak akan berhasil dan tidak ada perubahan (yang berpotensi bergantung) yang diterapkan.

ModifyLabelsRequest berisi instance LabelModification yang merupakan modifikasi pada label di file. Kolom ini juga dapat berisi instance FieldModification yang merupakan modifikasi pada kolom label. Untuk menghapus penetapan nilai untuk kolom, tetapkan FieldModification.unsetValues ke True.

Jika berhasil, isi respons akan berisi label yang ditambahkan atau diperbarui oleh permintaan. Ini ada dalam objek modifiedLabels dari jenis Label.

Contoh

Contoh kode berikut menunjukkan cara menggunakan fieldId dan labelId untuk menghapus nilai kolom di fileId terkait. Misalnya, jika label berisi kolom teks dan pengguna, menghapus setelan kolom teks akan menghapusnya dari label, tetapi kolom pengguna tidak akan diubah. Sedangkan menghapus label akan menghapus baik kolom teks maupun pengguna yang terkait dengan label. 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 menemukan fieldId, ambil label menggunakan Google Drive Labels API.
  • LABEL_ID: labelId label yang akan diubah.
  • FILE_ID: fileId file yang labelnya diubah.