Google Drive Etiketleri API'sini kullanarak tek bir etiketi güncelleyebilirsiniz. Bunun için, yeni bir taslak düzeltmeyle sonuçlanan bir dizi güncelleme isteği uygulamanız gerekir. Örneğin, Properties mevcut bir etiketi (temel 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 kabul edilir. 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 (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 Google 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:
PropertiesetiketiFieldnesne ve alan türleri- Seçim
Choiceve Seçim SeçeneğiProperties
Bunlar, bir etiketin görünümünü ve çalışmasını kontrol eden birçok nesneden bazılarıdır.
İşletim kategorileri
labels kaynağında delta yöntemi tarafından desteklenen aşağıdaki işlemler, aşağıdaki geniş kategorilerde gruplandırılabilir:
| Kategori | Açıklama |
|---|---|
| Oluştur | Nesne ekleyin. |
| Güncelle | Bir nesnenin belirli özelliklerini güncelleme |
| Etkinleştir | Nesneleri etkinleştirin. |
| Devre dışı bırak | Nesneleri devre dışı bırakın. |
| Sil | Nesneleri kaldırın. |
Bu kategoriler, belirli işlemlerin davranışını açıklamak için sonraki bölümde kullanılmaktadır.
Güncelleme istekleri
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. Farklı kategorilerde gruplandırılmış talep türleriyle ilgili dökümü aşağıda bulabilirsiniz.
| İstek nesnesi | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Etiket Özellikleri |
|
||||||||||
| Alan |
|
||||||||||
| Seçim Seçeneği |
|
||||||||||
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 labels kaynağında delta yöntemini kullanın.
Ayrıca şunları da belirtmeniz gerekir:
Kullanıcının yönetici kimlik bilgilerini kullanmak için
useAdminAccesssorgu parametresitrueolarak ayarlanır. Sunucu, erişime izin vermeden önce kullanıcının gerekli Sınıflandırma Etiketlerini Yönetme yönetici ayrıcalıklarına sahip olduğunu doğrular.Etiket için geçerli güncellemeleri belirten bir
Request.Propertiesnesnesi üzerindentitleetiketi.Bir veya daha fazla
Fieldnesne.Etiketi temsil eden bir
labelskaynağı. Birnameve biridiçerir. , etiket için genel olarak benzersiz bir tanımlayıcıdır.Etiket yanıtlarına uygulanan bir kaynak görünümü ayarlamak için
LabelViewnesnesi olarakLABEL_VIEW_FULL.LABEL_VIEW_FULL, olası tüm alanları döndürür.
Aşağıdaki kod örneğinde, doğru etiketi güncellemek için etiketin id özelliğinin nasıl kullanılacağı gösterilmektedir:
Python
body = {
'useAdminAccess': True,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID'
).execute()
Node.js
var body = {
'useAdminAccess': true,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
name: 'labels/ID',
requestBody: body
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
Aşağıdakini değiştirin:
- TITLE: Etiketin başlığı.
- DISPLAY_NAME: Alanın görünen adı.
- ID: Etiketin kimliği.
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, hasUnpublishedChanges ile true olarak ayarlanmış. Bu, taslak değişiklikler olduğu ancak kullanıcıların bu değişikliklere erişemediği anlamına gelir. Değişikliklerin kullanıcılara görünür olması için güncellenen etiket PUBLISHED olmalıdır. Daha fazla bilgi için Etiket yaşam döngüsü konusuna bakın.