Menetapkan kolom label pada file

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 menemukan fieldId, 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 tanpa fieldModifications 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 error 400: Bad Request.
  • Setel jenis nilai yang tepat untuk Field yang dipilih (seperti bilangan bulat, teks, , dll.), jika tidak, Anda akan menerima respons error 400: Bad Request. Anda bisa mengambil tipe data bidang menggunakan metode Drive Labels API.