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 listesini aldığından etiket güncellemesi toplu güncelleme olarak işlev görür. Toplu istekte belirtilen sıraya göre güncellemeler yapar. Toplu güncellemedeki güncellemeler atomik olarak uygulanır. Yani, toplu işlemdeki herhangi bir istek başarısız olursa güncellemenin tamamı başarısız olur ve (potansiyel olarak bağımlı) 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 ortaya çıkan taslak düzeltmenin yayınlanması gerekir.

Etiket nesnelerini güncelleme

Bir etiket, güncellenebilecek birçok başka nesne türü içerir. Örneğin:

  • Etiket Özellikleri
  • Alanlar ve Alan Türleri
  • Seçim tercihleri ve seçim tercihi özellikleri

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

İşletim kategorileri

labels.delta yöntemiyle desteklenen aşağıdaki işlemler, aşağıdaki geniş kategorilerde gruplandırılabilir:

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

Bu kategoriler, belirli işlemlerin davranışını açıklamak için sonraki bölümde kullanılmaktadı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. Birçok farklı türde istek vardır. Aşağıda, farklı kategorilerde gruplandırılmış talep türleriyle ilgili 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çeneği
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ış listesidir. Yalnızca düzenlemek istediğiniz alanların güncellendiğinden emin olmak için maske gereklidir. En az bir alan belirtmelisiniz.

Örnek

Bir etiketi güncellemek için delta yöntemini labels koleksiyonunda kullanın.

Ayrıca şunları da belirtmeniz gerekir:

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

  • Etikete uygulanacak güncellemeleri belirten bir Request.

  • property yöntemiyle title etiketi.

  • Bir veya daha fazla Field.

  • Her etiketi temsil eden bir Etiket kaynağı. Bir kaynak Name ve ID içerir. Bu, etiket için genel olarak benzersiz bir tanımlayıcıdır.

  • LabelView is LABEL_VIEW_FULL, etiket yanıtlarına uygulanan Kaynak görünümünü ayarlamak için kullanılır. LABEL_VIEW_FULL olası tüm alanları döndürür.

Bu örnekte, doğru etiketi güncellemek için ID kullanılı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çim güncellenir, etiketin düzeltme kimliği artırılır ve etiket, veritabanında taslak etiket olarak saklanır. Etikette PUBLISHED ile State simgesi bulunur. hasUnpublishedChanges=true, taslak değişiklikler olduğu ancak bunların kullanıcılar tarafından kullanılamadığı anlamına gelir. Değişikliklerin kullanıcılara görünür hale gelmesi için güncellenen etiket PUBLISHED olmalıdır. Daha fazla bilgi için Etiket yaşam döngüsü konusuna bakın.