Memperbarui label

Anda dapat memperbarui label tunggal 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.

Update label berfungsi sebagai update batch karena metode ini mengambil daftar objek Request update. Fitur ini membuat update sesuai dengan urutan yang sama yang ditentukan dalam permintaan batch. Update dalam batch update diterapkan secara atomik. Artinya, jika ada permintaan dalam batch yang tidak berhasil, seluruh update akan gagal dan tidak ada satu pun perubahan (yang mungkin bergantung padanya) yang akan diterapkan. Label tidak diubah.

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 Pilihan dan Properti Pilihan Pilihan

Ini adalah sebagian dari banyak objek yang mengontrol tampilan dan pengoperasian label.

Kategori operasi

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

Kategori Deskripsi
BuatMenambahkan objek.
UpdateMemperbarui properti tertentu dari suatu objek.
AktifkanAktifkan objek.
NonaktifkanNonaktifkan objek.
HapusHapus objek.

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

Perbarui permintaan

Metode labels.delta bekerja dengan mengambil satu atau beberapa objek Request, masing-masing menentukan satu jenis permintaan untuk dijalankan. Ada banyak jenis permintaan yang berbeda. Berikut adalah perincian jenis permintaan, yang dikelompokkan ke dalam berbagai kategori.

Jenis permintaan
Properti Label
Update UpdateLabelPropertiesRequest
Kolom
Buat CreateFieldRequest
Update UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
Aktifkan EnableFieldRequest
Nonaktifkan DisableFieldRequest
Hapus DeleteFieldRequest
Pilihan
Buat CreateSelectionChoiceRequest
Update UpdateSelectionChoicePropertiesRequest
Aktifkan EnableSelectionChoiceRequest
Nonaktifkan DisableSelectionChoiceRequest
Hapus DeleteSelectionChoiceRequest

Mask kolom

Banyak permintaan jenis "Update" dan "Disable" memerlukan FieldMask. Ini adalah daftar kolom yang dipisahkan 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 pembaruan yang berlaku untuk label.

  • Label title melalui metode property.

  • Satu atau beberapa Field.

  • Resource label yang mewakili setiap label. Class ini berisi resource Name dan ID, 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 memungkinkan.

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 akan diperbarui, ID revisi label akan bertambah, dan label disimpan di dalam database sebagai label draf. Label memiliki State dari PUBLISHED dengan hasUnpublishedChanges=true yang berarti ada perubahan draf, tetapi perubahan tersebut tidak tersedia bagi pengguna. Label yang diperbarui harus PUBLISHED sebelum perubahan terlihat oleh pengguna. Untuk informasi selengkapnya, lihat Siklus proses label.