Możesz zaktualizować pojedynczą etykietę, stosując zestaw żądań aktualizacji, co spowoduje utworzenie nowej wersji roboczej. Możesz na przykład zaktualizować istniejącą właściwość etykiety (opis etykiety) lub dodać do niej nowy Field
.
Aktualizacja etykiety działa jak aktualizacja zbiorcza, ponieważ metoda przyjmuje listę obiektów update
Request
. Aktualizacje są wprowadzane w kolejności określonej w żądaniu zbiorczym. Aktualizacje w aktualizacji zbiorczej są stosowane niepodzielnie. Oznacza to, że jeśli którekolwiek żądanie w partii nie zostanie zrealizowane, cała aktualizacja się nie powiedzie i żadne (potencjalnie zależne) zmiany nie zostaną zastosowane. Etykieta pozostaje bez zmian.
Jeśli aktualizacja się powiedzie, powstałą wersję roboczą należy opublikować, zanim będzie można użyć zmian w dowolnym elemencie na Dysku.
Aktualizowanie obiektów etykiet
Etykieta zawiera wiele innych typów obiektów, które można aktualizować, np.:
- Właściwości etykiety
- Pola i typy pól
- Opcje wyboru i ich właściwości
To tylko niektóre z wielu obiektów, które kontrolują wygląd i działanie etykiety.
Kategorie operacji
Operacje obsługiwane przez metodę labels.delta
można podzielić na te kategorie:
Kategoria | Opis |
---|---|
Utwórz | Dodaj obiekty. |
Zaktualizuj | Aktualizowanie określonych właściwości obiektu. |
Włącz | Włącz obiekty. |
Wyłącz | Wyłącz obiekty. |
Usuń | Usuwanie obiektów. |
W następnej sekcji używamy tych kategorii do opisania działania poszczególnych operacji.
Prośby o aktualizację
Metoda labels.delta
działa w ten sposób, że przyjmuje co najmniej 1 obiekt Request, z którego każdy określa jeden typ żądania do wykonania. Istnieje wiele różnych rodzajów próśb. Oto podział typów żądań na różne kategorie.
Typ żądania | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Właściwości etykiety |
|
||||||||||
Pole |
|
||||||||||
Wybór |
|
Maski pól
Wiele żądań typu „Aktualizuj” i „Wyłącz” wymaga FieldMask
.
Jest to lista rozdzielonych przecinkami pól, które chcesz zaktualizować, pozostawiając inne pola bez zmian. Maska jest wymagana, aby mieć pewność, że zaktualizowane zostaną tylko pola, które chcesz edytować. Musisz określić co najmniej 1 pole.
Przykład
Aby zaktualizować etykietę, użyj metody
delta
w kolekcji
labels
.
Musisz też podać:
useAdminAccess
totrue
, aby używać danych logowania administratora. Serwer sprawdza, czy użytkownik jest administratorem etykiety, zanim zezwoli na dostęp.Request
, który określa aktualizacje mające zastosowanie do etykiety.Etykietę
title
za pomocą metodyproperty
.Co najmniej 1
Field
.Zasób etykiety reprezentujący każdą etykietę. Zawiera zasób
Name
iID
, który jest globalnie unikalnym identyfikatorem wytwórni.LabelView
toLABEL_VIEW_FULL
, aby ustawić widok zasobu zastosowany do odpowiedzi na etykiety.LABEL_VIEW_FULL
zwraca wszystkie możliwe pola.
W tym przykładzie użyto znacznika ID
, aby zaktualizować prawidłową etykietę.
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);
});
Etykieta, pole lub wybór zostaną zaktualizowane, identyfikator wersji etykiety zostanie zwiększony, a etykieta zostanie zapisana w bazie danych jako etykieta w wersji roboczej. Etykieta ma ikonę State
o wartości PUBLISHED
z hasUnpublishedChanges=true
, co oznacza, że istnieją zmiany w wersji roboczej, ale nie są one dostępne dla użytkowników. Zaktualizowana etykieta musi zostać PUBLISHED
, zanim zmiany staną się widoczne dla użytkowników. Więcej informacji znajdziesz w artykule Cykl życia etykiety.