Memperbarui label

Anda dapat memperbarui satu label dengan menerapkan serangkaian permintaan update yang menghasilkan revisi draf baru. Misalnya, Anda dapat memperbarui properti label yang ada (deskripsi label) atau menambahkan Field baru ke label.

Pembaruan label berfungsi sebagai pembaruan batch karena metode ini menggunakan daftar objek pembaruan Request. API ini melakukan update sesuai dengan urutan yang sama yang ditentukan dalam permintaan batch. Pembaruan dalam pembaruan batch 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 update berhasil, revisi draf yang dihasilkan harus dipublikasikan sebelum perubahan dapat digunakan dengan item Drive apa pun.

Memperbarui objek label

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

  • Properti Label
  • Kolom dan Jenis Kolom
  • Pilihan Seleksi dan Properti Pilihan Seleksi

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

Kategori operasi

Operasi berikut yang didukung oleh metode labels.delta 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 labels.delta berfungsi dengan mengambil satu atau beberapa objek Request, yang masing-masing menentukan satu jenis permintaan yang akan dilakukan. Ada berbagai jenis permintaan. Berikut perincian jenis permintaan, yang dikelompokkan ke dalam kategori yang berbeda.

Jenis 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" 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 koleksi labels.

Anda juga harus menentukan:

  • useAdminAccess adalah true untuk menggunakan kredensial administrator pengguna. Server memverifikasi bahwa pengguna adalah admin untuk label sebelum mengizinkan akses.

  • Request yang menentukan update yang berlaku untuk label.

  • Label title melalui metode property.

  • Satu atau beberapa Field.

  • Resource label yang merepresentasikan setiap label. Objek ini berisi Name dan ID resource, yang merupakan ID unik global untuk label.

  • LabelView adalah LABEL_VIEW_FULL untuk menetapkan tampilan Resource yang diterapkan ke respons label. LABEL_VIEW_FULL menampilkan semua kolom yang mungkin.

Contoh ini menggunakan ID untuk memperbarui label yang benar.

Python

body = {
'use_admin_access': True,
'requests': [{
  'update_label': {
    'properties': {
      'title': 'TITLE'
    },
    'update_mask': {
      'paths': ['title']
    }
  },
}, {
  'create_field': {
    'field': {
      'properties': {
        'display_name': 'DISPLAY_NAME'
      },
      'text_options': {}
    }
  }
}],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
  body=body,
  name='labels/ID').execute()

Node.js

var body = {
  'use_admin_access': true,
  'requests': [{
    'update_label': {
      'properties': {
        'title': 'TITLE'
      },
      'update_mask': {
        'paths': ['title']
      }
    },
  }, {
    'create_field': {
      'field': {
        'properties': {
          'display_name': 'DISPLAY_NAME'
        },
        'text_options': {}
      }
    }
  }],
  'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
  'resource': body,
  'name': 'labels/ID'
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

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