Aggiornare un'etichetta

Puoi aggiornare una singola etichetta applicando un insieme di richieste di aggiornamento che generano una nuova revisione della bozza. Ad esempio, puoi aggiornare un'etichetta esistente property (l'etichetta descrizione) oppure puoi aggiungerne una nuova Field all'etichetta.

L'aggiornamento dell'etichetta agisce come un aggiornamento batch poiché il metodo prende un elenco di aggiornamenti Request oggetti. it effettua gli aggiornamenti in base allo stesso ordine specificato nella richiesta batch. La gli aggiornamenti nell'aggiornamento batch vengono applicati a livello atomico. Vale a dire, se ci sono richieste il batch non va a buon fine, l'intero aggiornamento non riesce e nessuno dei vengono applicate le modifiche (potenzialmente dipendenti). L'etichetta rimane invariata.

Se l'aggiornamento ha esito positivo, la bozza di revisione risultante deve essere pubblicata prima che le modifiche possano essere utilizzate con qualsiasi elemento di Drive.

Aggiorna oggetti etichetta

Un'etichetta include molti altri tipi di oggetti che possono essere aggiornati, ad esempio:

  • Proprietà etichetta
  • Campi e tipi di campo
  • Scelte di Selezione e Proprietà Scelta di selezione

Questi sono alcuni dei tanti oggetti che controllano l'aspetto e il funzionamento un'etichetta.

Categorie di operazioni

Le seguenti operazioni supportate Il metodo labels.delta può essere raggruppate nelle seguenti categorie generali:

Categoria Descrizione
CreaAggiungere oggetti.
AggiornaAggiorna determinate proprietà di un oggetto.
AttivaAbilita gli oggetti.
DisattivaDisabilita oggetti.
EliminaRimuovi oggetti.

Queste categorie vengono utilizzate nella prossima sezione per descrivere il comportamento dei per operazioni specifiche.

Richieste di aggiornamento

Il metodo labels.delta funziona prendendo uno o più Oggetti Request, ciascuno che specifica un singolo tipo di richiesta da eseguire. Esistono molti approcci tipi di richieste. Ecco un'analisi dei tipi di richieste, raggruppati in diverse categorie.

Tipo di richiesta
Proprietà etichetta
Aggiorna UpdateLabelPropertiesRequest
Campo
Crea CreateFieldRequest
Aggiorna UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
Attiva EnableFieldRequest
Disattiva DisableFieldRequest
Elimina DeleteFieldRequest
Scelta di selezione
Crea CreateSelectionChoiceRequest
Aggiorna UpdateSelectionChoicePropertiesRequest
Attiva EnableSelectionChoiceRequest
Disattiva DisableSelectionChoiceRequest
Elimina DeleteSelectionChoiceRequest

Maschere dei campi

Molte delle funzionalità di "Aggiornamento" e "Disabilita" le richieste di tipo richiedono FieldMask Questo è un elenco di campi delimitato da virgole da aggiornare senza modificare gli altri campi non sono stati modificati. La maschera è obbligatoria per garantire che solo i campi da modificare. Devi specificare almeno un campo.

Esempio

Per aggiornare un'etichetta, utilizza la delta nella raccolta labels.

Devi inoltre specificare:

  • useAdminAccess è true per utilizzare le credenziali di amministratore dell'utente. La verifica che l'utente sia un amministratore dell'etichetta prima di consentire l'accesso.

  • Una Request che specifica gli aggiornamenti applicabili all'etichetta.

  • Un'etichetta title tramite property.

  • Uno o più Field.

  • Una risorsa Etichetta che rappresenta ogni etichetta. Contiene le risorse Name e ID, che è un identificatore univoco globale per l'etichetta.

  • LabelView è LABEL_VIEW_FULL per impostare la visualizzazione delle risorse applicata alle risposte delle etichette. LABEL_VIEW_FULL restituisce tutti i campi possibili.

In questo esempio viene utilizzato ID per aggiornare l'etichetta corretta.

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);
});

L'etichetta, il campo o la scelta vengono aggiornati, l'ID revisione dell'etichetta viene incrementato, e archiviata in un database come bozza. L'etichetta ha State di PUBLISHED con hasUnpublishedChanges=true indica che ci sono modifiche alla bozza, ma non sono disponibili per gli utenti. L'etichetta aggiornata deve essere PUBLISHED prima delle modifiche diventano visibili agli utenti. Per ulteriori informazioni, consulta la sezione Etichette del ciclo di vita.