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 etykiety nową Field
.
Aktualizacja etykiety jest aktualizacją zbiorczą, ponieważ metoda pobiera listę obiektów aktualizacji Request
. Aktualizuje je w kolejności określonej w żądaniu zbiorczym. Aktualizacje w ramach aktualizacji zbiorczej są stosowane atomowo. Oznacza to, że jeśli którekolwiek żądanie w grupie nie powiedzie się, cała aktualizacja zakończy się niepowodzeniem i nie zostaną zastosowane żadne (potencjalnie zależne) zmiany. Etykieta pozostaje niezmieniona.
Jeśli aktualizacja się powiedzie, wynikowa wersja robocza musi zostać opublikowana, 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ć, na przykład:
- Właściwości etykiety
- Pola i typy pól
- Opcje wyboru i właściwości wyboru
Oto niektóre z wielu obiektów, które kontrolują wygląd i działanie etykiety.
Kategorie działań
Operacje obsługiwane przez metodę labels.delta
można podzielić na te ogólne kategorie:
Kategoria | Opis |
---|---|
Utwórz | Dodaj obiekty. |
Zaktualizuj | Aktualizacja określonych właściwości obiektu. |
Włącz | Włącz obiekty. |
Wyłącz | Wyłącz obiekty. |
Usuń | Usuń obiekty. |
W następnej sekcji zostaną one użyte do opisania sposobu działania określonych operacji.
Prośby o aktualizację
Metoda labels.delta
działa, przyjmując 1 lub więcej obiektów Request, z których każdy określa jeden typ żądania do wykonania. Jest wiele różnych rodzajów wniosków. Oto zestawienie typów żądań podzielonych na różne kategorie.
Typ wniosku | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Właściwości etykiety |
|
||||||||||
Pole |
|
||||||||||
Wybór |
|
Maski pól
Wiele żądań typu „Aktualizacja” lub „Wyłącz” wymaga FieldMask
.
Jest to rozdzielana przecinkami lista pól, które chcesz zaktualizować, bez zmian w pozostałych polach. Maska jest wymagana, aby można było zaktualizować tylko pola, które chcesz edytować. Musisz określić co najmniej jedno pole.
Przykład
Aby zaktualizować etykietę, użyj w kolekcji labels
metody delta
.
Musisz też podać:
useAdminAccess
:true
, aby można było użyć danych logowania administratora. Przed zezwoleniem na dostęp serwer sprawdza, czy użytkownik jest administratorem etykiety.Request
określa odpowiednie aktualizacje etykiety.Etykieta
title
za pomocą metodyproperty
.Co najmniej 1 element
Field
.Zasób etykiety reprezentujący każdą etykietę. Zawiera zasoby
Name
iID
, które są globalnie unikalnym identyfikatorem etykiety.LabelView
toLABEL_VIEW_FULL
, aby ustawić widok zasobów stosowany do odpowiedzi z etykietami.LABEL_VIEW_FULL
zwraca wszystkie możliwe pola.
W tym przykładzie użyto elementu ID
do aktualizacji prawidłowej etykiety.
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);
});
Zaktualizowano etykietę, pole lub wybór, zwiększy się identyfikator wersji etykiety, a etykieta zostanie zapisana w bazie danych jako etykieta robocza. Etykieta zawiera wartość State
o wartości PUBLISHED
o wartości hasUnpublishedChanges=true
, co oznacza, że istnieją zmiany w wersji roboczej, ale nie są one dostępne dla użytkowników. Aby zmiany stały się widoczne dla użytkowników, zaktualizowana etykieta musi mieć wartość PUBLISHED
. Więcej informacji znajdziesz w artykule Cykl życia etykiety.