Możesz zaktualizować pojedynczą etykietę, stosując zestaw żądań aktualizacji, co spowoduje utworzenie nowej wersji roboczej. Możesz na przykład zaktualizować istniejącą etykietę właściwości (opis etykiety) lub dodać nową etykietę Field
.
Aktualizacja etykiety działa jak aktualizacja zbiorcza, ponieważ metoda przyjmuje listę obiektów Request
do zaktualizowania. Wprowadza ona zmiany w tej samej kolejności, jaką określono w żądaniu zbiorczym. Aktualizacje w ramach aktualizacji zbiorczej są stosowane w całości. Oznacza to, że jeśli jakiekolwiek żądanie w zbiorze nie powiedzie się, cała aktualizacja nie powiedzie się i żadne z (potencjalnie zależnych) zmian nie zostaną zastosowane. Etykieta pozostaje niezmieniona.
Jeśli aktualizacja zakończy się powodzeniem, utworzona wersja robocza musi zostać opublikowana, zanim zmiany będą mogły być używane w przypadku dowolnego elementu w usłudze Dysk.
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 właściwości opcji wyboru
Oto 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 ogólne kategorie:
Kategoria | Opis |
---|---|
Utwórz | Dodawanie obiektów |
Zaktualizuj | aktualizować niektóre właściwości obiektu. |
Włącz | Włącz obiekty. |
Wyłącz | Wyłącz obiekty. |
Usuń | Usuwanie obiektów. |
W następnej sekcji te kategorie są używane do opisywania zachowania konkretnych operacji.
Prośby o aktualizację
Metoda labels.delta
działa, pobierając co najmniej 1 element Request, z których każdy określa jeden typ żądania do wykonania. Istnieje wiele rodzajów próśb. Oto podział typów żądań na różne kategorie.
Typ wniosku | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Właściwości etykiety |
|
||||||||||
Pole |
|
||||||||||
Wybór |
|
Maski pól
Wiele żądań typu „Zaktualizuj” i „Wyłącz” wymaga FieldMask
.
Jest to lista rozdzielona 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 podać 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 użytkownika. Serwer sprawdza, czy użytkownik jest administratorem etykiety, zanim zezwoli mu na dostęp.Request
, który określa odpowiednie aktualizacje etykiety.Etykieta
title
w metodzieproperty
.Co najmniej
Field
.Zasób etykiety, który reprezentuje każdą etykietę. Zawiera zasób
Name
iID
, który jest globalnie unikalnym identyfikatorem etykiety.LabelView
toLABEL_VIEW_FULL
ustawienie widoku Zasoby stosowane do odpowiedzi na etykiety.LABEL_VIEW_FULL
zwraca wszystkie możliwe pola.
W tym przykładzie użyto znacznika ID
, aby zaktualizować właściwą etykietę.
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()
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 są aktualizowane, identyfikator poprawki etykiety jest zwiększany, a etykieta jest przechowywana w bazie danych jako wersja robocza. Etykieta ma wartość State
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 być PUBLISHED
, zanim zmiany staną się widoczne dla użytkowników. Więcej informacji znajdziesz w artykule Cykl życia etykiety.