Możesz zaktualizować pojedynczą etykietę, stosując zestaw próśb o aktualizację, 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. Zmiany 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 obejmuje 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ń | usuwać obiekty, |
W następnej sekcji używamy tych kategorii do opisania działania poszczególnych operacji.
Prośby o aktualizację
Metoda labels.delta działa poprzez pobranie co najmniej jednego obiektu Request, z których 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 pozostałe 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ć:
useAdminAccesstotrue, aby użyć danych logowania administratora. Serwer sprawdza, czy użytkownik jest administratorem etykiety, zanim zezwoli na dostęp.Request, który określa aktualizacje, które można zastosować do etykiety.Etykieta
titleza pomocą metodyproperty.Co najmniej 1
Field.Zasób etykiety reprezentujący każdą etykietę. Zawiera zasób
NameiID, który jest unikalnym w skali globalnej identyfikatorem wytwórni.LabelViewtoLABEL_VIEW_FULL, aby ustawić widok zasobów zastosowany do odpowiedzi na etykiety.LABEL_VIEW_FULLzwraca 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 PUBLISHED, co oznacza, że istnieją zmiany w wersji roboczej, ale nie są one dostępne dla użytkowników.hasUnpublishedChanges=true Zaktualizowana etykieta musi zostać PUBLISHED, zanim zmiany staną się widoczne dla użytkowników. Więcej informacji znajdziesz w artykule Cykl życia etykiety.