Aktualizowanie etykiety

Możesz zaktualizować 1 etykietę, stosując zestaw żądań aktualizacji, co spowoduje nową wersję roboczą. Możesz na przykład zaktualizować istniejącą etykietę, property (etykieta) opis) lub dodaj nowy Field do etykiety.

Aktualizacja etykiety działa jak aktualizacja zbiorcza, ponieważ metoda pobiera listę aktualizacji Request obiektów. it wprowadza aktualizacje w kolejności określonej w żądaniu zbiorczym. aktualizacje zbiorcze są stosowane oddzielnie. Oznacza to, że wszelkie żądania w partia się nie powiedzie, cała aktualizacja zakończy się niepowodzeniem i żadne z stosowane (potencjalnie zależne) zmiany. Etykieta pozostaje bez zmian.

Jeśli aktualizacja się powiedzie, wynikowa wersja robocza musi zostać opublikowana .

Aktualizowanie obiektów etykiet

Etykieta zawiera wiele innych typów obiektów, które można aktualizować, takich jak:

  • Właściwości etykiet
  • Pola i typy pól
  • Właściwości wyboru i zaznaczenia

To tylko niektóre z wielu obiektów, które wpływają na wygląd i działanie etykietę.

Kategorie działania

Te operacje obsługiwane przez Metoda labels.delta może być podzielone na następujące kategorie ogólne:

Kategoria Opis
UtwórzDodaj obiekty.
ZaktualizujAktualizowanie określonych właściwości obiektu.
WłączWłącz obiekty.
WyłączWyłącz obiekty.
Usuńusuwać obiekty,

Kategorie te są używane w następnej sekcji do opisania działania konkretnych operacji.

Prośby o aktualizację

Metoda labels.delta działa wybierając obiekty Request, każdy określający pojedynczy typ żądania do wykonania. Istnieje wiele różnych różnych typów żądań. Oto podział na typy żądań pogrupowane według tych kategorii: różnych kategorii.

Typ wniosku
Właściwości etykiet
Zaktualizuj UpdateLabelPropertiesRequest
Pole
Utwórz CreateFieldRequest
Zaktualizuj UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
Włącz EnableFieldRequest
Wyłącz DisableFieldRequest
Usuń DeleteFieldRequest
Wybór
Utwórz CreateSelectionChoiceRequest
Zaktualizuj UpdateSelectionChoicePropertiesRequest
Włącz EnableSelectionChoiceRequest
Wyłącz DisableSelectionChoiceRequest
Usuń DeleteSelectionChoiceRequest

Maski pola

Duża część „Aktualizacja” i „Wyłącz” typu żądania wymagają FieldMask Jest to rozdzielana przecinkami lista pól, które chcesz zaktualizować, pozostawiając nie zmieniono innych pól. Maska jest wymagana, aby zapewnić, że tylko pola, których które chcesz edytować, zostaną zaktualizowane. Musisz określić co najmniej jedno pole.

Przykład

Aby zaktualizować etykietę, użyj delta na Kolekcja labels.

Musisz też określić:

  • useAdminAccess ma wartość true, aby używać danych logowania administratora użytkownika. serwer sprawdza, czy użytkownik jest administratorem etykiety przed zezwoleniem dostęp.

  • Request, określa odpowiednie aktualizacje etykiety.

  • Etykieta title przez tag Metoda property.

  • Co najmniej 1 Field.

  • zasobu oznaczonego etykietami, reprezentujący każdą etykietę. Zawiera zasób Name i ID, który to globalnie unikalny identyfikator etykiety.

  • LabelView to LABEL_VIEW_FULL, aby ustawić widok zasobu stosowany do odpowiedzi etykiet. Funkcja LABEL_VIEW_FULL zwraca wszystkie możliwe pola.

W tym przykładzie używamy ID do aktualizowania 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);
});

Etykieta, pole lub wybór zostaną zaktualizowane, identyfikator wersji etykiety zostanie zwiększony. , a etykieta jest przechowywana w bazie danych jako etykieta robocza. Etykieta zawiera element State z PUBLISHED z hasUnpublishedChanges=true oznacza, że są zmiany w wersji roboczej, ale nie są one dostępnych dla użytkowników. Przed wprowadzeniem zmian zaktualizowana etykieta musi mieć stan PUBLISHED staną się widoczne dla użytkowników. Więcej informacji znajdziesz w sekcji Etykieta cyklu życia usługi.