Aggiornare un'etichetta

Puoi aggiornare una singola etichetta applicando un insieme di richieste di aggiornamento che generano una nuova revisione bozza. Ad esempio, puoi aggiornare una proprietà esistente (la descrizione dell'etichetta) o puoi aggiungere un nuovo Field all'etichetta.

L'aggiornamento dell'etichetta funge da aggiornamento batch poiché il metodo accetta un elenco di oggetti di aggiornamento Request. Esegue gli aggiornamenti nello stesso ordine specificato nella richiesta batch. Gli aggiornamenti nell'aggiornamento batch vengono applicati in modo atomico. ovvero, se una richiesta nel batch non va a buon fine, l'intero aggiornamento non va a buon fine e nessuna delle modifiche (potenzialmente dipendenti) viene applicata. L'etichetta rimane invariata.

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

Aggiorna gli 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à delle scelte di selezione

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

Categorie di operazioni

Le seguenti operazioni supportate dal metodo labels.delta possono essere raggruppate nelle seguenti categorie generali:

Categoria Descrizione
CreaAggiungi oggetti.
AggiornaAggiorna determinate proprietà di un oggetto.
AttivaAttiva gli oggetti.
DisabilitaDisattiva gli oggetti.
EliminaRimuovi oggetti.

Queste categorie vengono utilizzate nella sezione successiva per descrivere il comportamento di operazioni specifiche.

Richieste di aggiornamento

Il metodo labels.delta funziona prendendo uno o più oggetti Request, ognuno dei quali specifica un singolo tipo di richiesta da eseguire. Esistono molti tipi diversi di richieste. Ecco una suddivisione dei tipi di richieste, raggruppate in diverse categorie.

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

Maschere dei campi

Molte richieste di tipo "Aggiorna" e "Disattiva" richiedono un FieldMask. Si tratta di un elenco delimitato da virgole dei campi che vuoi aggiornare lasciando invariati gli altri campi. La maschera è necessaria per assicurarsi che vengano aggiornati solo i campi che vuoi modificare. Devi specificare almeno un campo.

Esempio

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

Devi inoltre specificare:

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

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

  • Un'etichetta title tramite il metodo property.

  • Uno o più Field.

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

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

Questo esempio utilizza 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 l'etichetta viene archiviata in un database come bozza. L'etichetta ha lo State di PUBLISHED con hasUnpublishedChanges=true, il che significa che sono presenti modifiche alla bozza, ma non sono disponibili per gli utenti. L'etichetta aggiornata deve essere PUBLISHED prima che le modifiche diventino visibili agli utenti. Per maggiori informazioni, consulta la sezione Ciclo di vita dell'etichetta.