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 mülkünü (etiket açıklamasını) güncelleyebilir veya etikete yeni bir Field ekleyebilirsiniz.

Yöntem, güncelleme Request nesnelerinin bir listesini aldığından etiket güncellemesi toplu güncelleme gibi çalışır. Güncellemeleri, toplu istekte belirtilen sıraya göre 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 (bağlı olabilecek) 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

Etiketler, güncellenebilen 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çeneği Özellikleri

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

İşlem kategorileri

labels.delta yöntemi tarafından desteklenen aşağıdaki işlemler aşağıdaki geniş kategorilere ayrılabilir:

Kategori Açıklama
OluşturNesne ekleyin.
GüncelleBir nesnenin belirli özelliklerini güncelleyin.
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ı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. Birçok farklı istek türü vardır. Farklı kategorilere ayrılmış istek türlerinin dökümü aşağıda 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üncelleme" ve "Devre dışı bırakma" türündeki istekler için çoğu durumda FieldMask gerekir. Bu, diğer alanları değiştirmeden güncellemek istediğiniz alanların virgülle ayrılmış bir listesidir. Yalnızca düzenlemek istediğiniz alanların güncellendiğinden emin olmak için maske gereklidir. En az bir alan belirtmeniz gerekir.

kullanmaktan kaçının.

Örnek

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

Ayrıca şu bilgileri de belirtmeniz gerekir:

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

  • Etiketle ilgili geçerli güncellemeleri belirten bir Request.

  • property yöntemi aracılığıyla bir etiket title.

  • Bir veya daha fazla Field.

  • Her etiketi temsil eden bir etiket kaynağı. Etiket için dünya genelinde benzersiz bir tanımlayıcı olan Name ve ID kaynağını içerir.

  • LabelView, etiket yanıtlarına uygulanacak kaynak görünümünü ayarlamak için kullanılırLABEL_VIEW_FULL. LABEL_VIEW_FULL, olası 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çim güncellenir, etiketin düzeltme kimliği artırılır ve etiket bir veritabanında taslak etiket olarak depolanır. Etiketin PUBLISHED State simgesi hasUnpublishedChanges=true ile birlikte gösterilmesi, taslak değişikliklerin olduğunu ancak kullanıcıların bu değişiklikleri kullanamadığını gösterir. Değişikliklerin kullanıcılara gösterilmesi için güncellenmiş etiketin PUBLISHED olması gerekir. Daha fazla bilgi için Etiket yaşam döngüsü başlıklı makaleyi inceleyin.