Memperbarui label

Anda dapat memperbarui satu label menggunakan Google Drive Labels API dengan menerapkan serangkaian permintaan pembaruan yang menghasilkan revisi draf baru. Misalnya, Anda dapat memperbarui label yang ada Properties (deskripsi label dasar) atau menambahkan Field baru ke label.

Pembaruan label berfungsi sebagai kumpulan update karena metode ini menggunakan daftar objek Request pembaruan. Tindakan ini melakukan pembaruan sesuai dengan urutan yang sama yang ditentukan dalam permintaan batch. Pembaruan dalam kumpulan update diterapkan secara atomik. Artinya, jika ada permintaan dalam batch yang tidak berhasil, seluruh update tidak akan berhasil dan tidak ada perubahan (yang mungkin bergantung) yang diterapkan. Label tidak berubah.

Jika pembaruan berhasil, revisi draf yang dihasilkan harus dipublikasikan sebelum perubahan dapat digunakan dengan item Google Drive apa pun.

Memperbarui objek label

Label mencakup banyak jenis objek lain yang dapat diperbarui, seperti:

  • Label Properties
  • Objek Field dan jenis kolom
  • Pilihan Choice dan Pilihan Seleksi Properties

Berikut adalah beberapa dari banyak objek yang mengontrol tampilan dan pengoperasian label.

Kategori operasi

Operasi berikut yang didukung oleh metode delta pada resource labels dapat dikelompokkan ke dalam kategori luas berikut:

Kategori Deskripsi
BerkreasiMenambahkan objek.
UpdateMemperbarui properti tertentu dari suatu objek.
AktifkanAktifkan objek.
DisableMenonaktifkan objek.
HapusMenghapus objek.

Kategori ini digunakan di bagian berikutnya untuk menjelaskan perilaku operasi tertentu.

Permintaan pembaruan

Metode delta berfungsi dengan mengambil satu atau beberapa objek Request, yang masing-masing menentukan satu jenis permintaan yang akan dilakukan. Ada banyak jenis permintaan yang berbeda. Berikut perincian jenis permintaan, yang dikelompokkan ke dalam berbagai kategori.

Objek permintaan
Properti Label
Update UpdateLabelPropertiesRequest
Kolom
Berkreasi CreateFieldRequest
Update UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
Aktifkan EnableFieldRequest
Disable DisableFieldRequest
Hapus DeleteFieldRequest
Pilihan Seleksi
Berkreasi CreateSelectionChoiceRequest
Update UpdateSelectionChoicePropertiesRequest
Aktifkan EnableSelectionChoiceRequest
Disable DisableSelectionChoiceRequest
Hapus DeleteSelectionChoiceRequest

Mask kolom

Banyak permintaan jenis "Perbarui" dan "Nonaktifkan" yang memerlukan FieldMask. Ini adalah daftar kolom yang dibatasi koma yang ingin Anda perbarui tanpa mengubah kolom lainnya. Mask diperlukan untuk memastikan hanya kolom yang ingin Anda edit yang diperbarui. Anda harus menentukan setidaknya satu kolom.

Contoh

Untuk memperbarui label, gunakan metode delta pada resource labels.

Anda juga harus menentukan:

  • Parameter kueri useAdminAccess ditetapkan ke true untuk menggunakan kredensial administrator pengguna. Sebelum mengizinkan akses, server memverifikasi bahwa pengguna memiliki hak istimewa administrator Kelola Label Klasifikasi yang diperlukan.

  • Request yang menentukan pembaruan yang berlaku untuk label.

  • Label title melalui objek Properties.

  • Satu atau beberapa objek Field.

  • Resource labels yang merepresentasikan label. Kolom ini berisi name dan id, yang merupakan ID unik global untuk label.

  • Objek LabelView sebagai LABEL_VIEW_FULL untuk menetapkan tampilan resource yang diterapkan ke respons label. LABEL_VIEW_FULL menampilkan semua kolom yang mungkin.

Contoh kode berikut menunjukkan cara menggunakan id label untuk memperbarui label yang benar:

Python

body = {
    'useAdminAccess': True,
    'requests': [
        {
            'updateLabel': {
                'properties': {
                    'title': 'TITLE'
                },
                'updateMask': 'title'
            }
        },
        {
            'createField': {
                'field': {
                    'properties': {
                        'displayName': 'DISPLAY_NAME'
                    },
                    'textOptions': {}
                }
            }
        }
    ],
    'view': 'LABEL_VIEW_FULL'
}

response = service.labels().delta(
    body=body,
    name='labels/ID'
).execute()

Node.js

var body = {
  'useAdminAccess': true,
  'requests': [
    {
      'updateLabel': {
        'properties': {
          'title': 'TITLE'
        },
        'updateMask': 'title'
      }
    },
    {
      'createField': {
        'field': {
          'properties': {
            'displayName': 'DISPLAY_NAME'
          },
          'textOptions': {}
        }
      }
    }
  ],
  'view': 'LABEL_VIEW_FULL'
};

service.labels.delta({
  name: 'labels/ID',
  requestBody: body
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

Ganti kode berikut:

  • TITLE: Judul label.
  • DISPLAY_NAME: Nama tampilan kolom.
  • ID: ID label.

Label, kolom, atau pilihan diperbarui, ID revisi label bertambah, dan label disimpan dalam database sebagai draf label. Label memiliki State PUBLISHED dengan hasUnpublishedChanges ditetapkan ke true yang berarti ada perubahan draf, tetapi perubahan tersebut tidak tersedia untuk pengguna. Label yang diperbarui harus PUBLISHED sebelum perubahan dapat dilihat oleh pengguna. Untuk mengetahui informasi selengkapnya, lihat Siklus proses label.