Memperbarui label

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

Pembaruan label bertindak sebagai pembaruan batch karena metode ini mengambil daftar pembaruan Objek Request. Ini melakukan pembaruan sesuai dengan urutan yang sama yang ditentukan dalam permintaan batch. Tujuan pembaruan dalam batch update diterapkan secara atomik. Artinya, jika ada permintaan di batch tersebut gagal, maka seluruh pembaruan gagal dan tidak ada perubahan (yang berpotensi bergantung) akan diterapkan. Label tidak diubah.

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

Perbarui 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 penampilan 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 sebuah objek.
AktifkanMengaktifkan objek.
NonaktifkanMenonaktifkan objek.
HapusHapus objek.

Kategori-kategori ini digunakan di bagian selanjutnya untuk menggambarkan perilaku operasi tertentu.

Permintaan pembaruan

Metode labels.delta berfungsi dengan mengambil satu atau beberapa Objek Request, masing-masing yang menentukan satu jenis permintaan untuk dilakukan. Ada banyak jenis permintaan tertentu. Berikut ini perincian tentang jenis-jenis permintaan, yang dikelompokkan menjadi kategori yang berbeda.

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

Mask kolom

Banyak tombol "Update" dan "Nonaktifkan" permintaan jenis memerlukan FieldMask Ini adalah daftar kolom yang dipisahkan koma yang ingin Anda perbarui sambil membiarkan {i>field<i} lainnya tidak berubah. Masker ini diperlukan untuk memastikan hanya kolom yang Anda ingin diedit. Anda harus menentukan setidaknya satu kolom.

Contoh

Untuk memperbarui label, gunakan Metode delta di Koleksi labels.

Anda juga harus menentukan:

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

  • Request yang menentukan pembaruan yang berlaku pada label.

  • Label title melalui Metode property.

  • Satu atau beberapa Field.

  • Resource label yang mewakili setiap label. Class ini berisi resource Name dan ID, yang adalah ID unik global untuk label.

  • LabelView sama dengan LABEL_VIEW_FULL untuk menyetel 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 {i>database<i} sebagai label draf. Label memiliki State dari PUBLISHED dengan hasUnpublishedChanges=true berarti ada perubahan draf, tetapi tidak yang tersedia untuk pengguna. Label yang diperbarui harus PUBLISHED sebelum perubahan terlihat oleh pengguna. Untuk informasi selengkapnya, lihat Label siklus proses.