Membatalkan penetapan kolom label pada file

Halaman ini menjelaskan cara membatalkan penetapan label Field pada satu File Google Drive.

Untuk menghapus metadata dari file dengan membatalkan setelan 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. Untuk membatalkan penetapan nilai {i>field<i}, tetapkan FieldModification.unsetValues ke True.

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 dan labelId untuk membatalkan penetapan nilai kolom pada fileId yang terkait. Misalnya, jika label berisi baik kolom teks maupun pengguna, membatalkan setelan kolom teks akan menghapusnya dari label tetapi membiarkan {i>field <i}pengguna tidak disentuh. Sedangkan menghapus label akan menghapus kedua kolom pengguna dan teks yang terkait dengan label. Untuk 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 diberi label diubah.