Etiket güncelleme

Yeni bir taslak düzeltmeyle sonuçlanan bir dizi güncelleme isteği uygulayarak tek bir etiketi güncelleyebilirsiniz. Örneğin, mevcut bir etiket özelliğini (etiket açıklaması) güncelleyebilir veya etikete yeni bir Field ekleyebilirsiniz.

Yöntem, güncelleme Request nesnelerinin bir listesini aldığından etiket güncellemesi, toplu güncelleme görevi görür. Güncellemeleri toplu istekte belirtilen sıraya göre yapar. Toplu güncellemedeki güncellemeler anatomik olarak uygulanır. Yani topludaki herhangi bir istek başarısız olursa güncellemenin tamamı başarısız olur ve (muhtemelen bağımlı olan) değişikliklerin hiçbiri uygulanmaz. Etiket değiştirilmez.

Güncelleme başarılı olursa değişikliklerin herhangi bir Drive öğesiyle kullanılabilmesi için önce ortaya çıkan taslak düzeltmenin yayınlanması gerekir.

Etiket nesnelerini güncelleme

Etiket, güncellenebilecek diğer birçok nesne türünü içerir. Örneğin:

  • Etiket Özellikleri
  • Alanlar ve Alan Türleri
  • Seçim Seçenekleri ve Seçim Seçimi Özellikleri

Bunlar, bir etiketin görünümünü ve çalışmasını kontrol eden birçok nesneden bazılarıdır.

Operasyon kategorileri

labels.delta yöntemi tarafından desteklenen aşağıdaki işlemler, şu genel kategorilerde gruplandırılabilir:

Kategori Açıklama
OluşturNesne ekleyin.
GüncelleBir nesnenin belirli özelliklerini güncelleyin.
EtkinleştirNesneleri etkinleştir.
Devre dışı bırakNesneleri devre dışı bırak.
SilNesneleri kaldırın.

Bu kategoriler bir sonraki bölümde belirli işlemlerin davranışını açıklamak için kullanılır.

Güncelleme istekleri

labels.delta yöntemi, her biri gerçekleştirilecek tek bir istek türünü belirten bir veya daha fazla Request nesnesi alarak çalışır. Çok farklı türde istekler var. Aşağıda, istek türlerinin farklı kategorilerde gruplandırılmış bir dökümü verilmiştir.

İstek türü
Etiket Özellikleri
Güncelle UpdateLabelPropertiesRequest
Alan
Oluştur CreateFieldRequest
Güncelle UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
Etkinleştir EnableFieldRequest
Devre dışı bırak DisableFieldRequest
Sil DeleteFieldRequest
Seçim Seçimi
Oluştur CreateSelectionChoiceRequest
Güncelle UpdateSelectionChoicePropertiesRequest
Etkinleştir EnableSelectionChoiceRequest
Devre dışı bırak DisableSelectionChoiceRequest
Sil DeleteSelectionChoiceRequest

Alan maskeleri

"Güncelle" ve "Devre dışı bırak" türündeki isteklerin çoğu için FieldMask gerekir. Bu, diğer alanları değiştirmeden güncellemek istediğiniz alanların virgülle ayrılmış bir listesidir. Maske, yalnızca düzenlemek istediğiniz alanların güncellendiğinden emin olmak için gereklidir. En az bir alan belirtmelisiniz.

Örnek

Etiket güncellemek için labels koleksiyonundaki delta yöntemini kullanın.

Şunları da belirtmeniz gerekir:

  • useAdminAccess, kullanıcının yönetici kimlik bilgilerini kullanmak için true değerine sahiptir. Sunucu, erişime izin vermeden önce kullanıcının etikette yönetici olduğunu doğrular.

  • Etikette yapılan geçerli güncellemeleri belirten bir Request.

  • property yöntemiyle title etiketi.

  • Bir veya daha fazla Field.

  • Her etiketi temsil eden bir Etiket kaynağı. Etiket için genel olarak benzersiz tanımlayıcı olan Name ve ID kaynaklarını içerir.

  • LabelView, etiket yanıtlarına uygulanan Kaynak görünümünü ayarlamak için LABEL_VIEW_FULL değeridir. LABEL_VIEW_FULL, mümkün olan tüm alanları döndürür.

Bu örnekte, doğru etiketi güncellemek için ID kullanılmaktadır.

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);
});

Etiket, alan veya seçenek güncellenir, etiketin düzeltme kimliği artar ve etiket, veritabanında taslak etiket olarak depolanır. Etikette PUBLISHED simgesi State ve hasUnpublishedChanges=true simgesi, değişiklikler taslak halinde olduğu anlamına gelir ancak bu değişiklikler kullanıcılara sunulmaz. Değişikliklerin kullanıcılar tarafından görülebilmesi için güncellenen etiket PUBLISHED olmalıdır. Daha fazla bilgi için Etiket yaşam döngüsü bölümüne bakın.