Aggiornare un'etichetta

Puoi aggiornare una singola etichetta utilizzando l'API Google Drive Labels applicando un insieme di richieste di aggiornamento che generano una nuova revisione della bozza. Ad esempio, puoi aggiornare un'etichetta esistente Properties (la descrizione di base dell'etichetta) o 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. Ciò significa che, se una richiesta nel batch non va a buon fine, l'intero aggiornamento non va a buon fine e non vengono applicate le modifiche (potenzialmente dipendenti). L'etichetta rimane invariata.

Se l'aggiornamento va a buon fine, la revisione della bozza risultante deve essere pubblicata prima che le modifiche possano essere utilizzate con qualsiasi elemento di Google Drive.

Aggiornare gli oggetti etichetta

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

  • Properties dell'etichetta
  • Oggetti Field e tipi di campi
  • Choice di selezione e Properties di scelta di selezione

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

Categorie di operazioni

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

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

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

Richieste di aggiornamento

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

Oggetto richiesta
Proprietà dell'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 richieste di tipo "Aggiorna" e "Disattiva" richiedono un FieldMask. Si tratta di un elenco di campi separati da virgole che vuoi aggiornare lasciando invariati gli altri campi. La maschera è necessaria per assicurarti che vengano aggiornati solo i campi che vuoi modificare. Devi specificare almeno un campo.

Esempio

Per aggiornare un'etichetta, utilizza il delta metodo sulla labels risorsa.

Devi anche specificare:

  • Il parametro di query useAdminAccess è impostato su true per utilizzare le credenziali di amministratore dell'utente. Prima di consentire l'accesso, il server verifica che l'utente disponga di i privilegi di amministratore Gestisci classificazione Etichette richiesti.

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

  • Un title dell'etichetta tramite l'Properties oggetto.

  • Uno o più Field oggetti.

  • Una risorsa labels che rappresenta l'etichetta. Contiene un name e un id, che è un identificatore univoco globale per l'etichetta.

  • Un oggetto LabelView come LABEL_VIEW_FULL per impostare una visualizzazione delle risorse applicata alle risposte delle etichette. LABEL_VIEW_FULL restituisce tutti i campi possibili.

Il seguente esempio di codice mostra come utilizzare l'id dell'etichetta per aggiornare l'etichetta corretta:

Python

body = {
    'useAdminAccess': True,
    'requests': [
        {
            'updateLabel': {
                'properties': {
                    'title': 'TITLE'
                },
                'updateMask': 'title'
            }
        },
        {
            'createField': {
                'field': {
                    'properties': {
                        'displayName': 'DISPLAY_NAME'
                    },
                    'textOptions': {}
                }
            }
        }
    ],
    'view': 'LABEL_VIEW_FULL'
}

response = service.labels().delta(
    body=body,
    name='labels/ID'
).execute()

Node.js

var body = {
  'useAdminAccess': true,
  'requests': [
    {
      'updateLabel': {
        'properties': {
          'title': 'TITLE'
        },
        'updateMask': 'title'
      }
    },
    {
      'createField': {
        'field': {
          'properties': {
            'displayName': 'DISPLAY_NAME'
          },
          'textOptions': {}
        }
      }
    }
  ],
  'view': 'LABEL_VIEW_FULL'
};

service.labels.delta({
  name: 'labels/ID',
  requestBody: body
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

Sostituisci quanto segue:

  • TITLE: il titolo dell'etichetta.
  • DISPLAY_NAME: il nome visualizzato del campo.
  • ID: l'ID dell'etichetta.

L'etichetta, il campo o la scelta vengono aggiornati, l'ID di revisione dell'etichetta viene incrementato e l'etichetta viene archiviata in un database come etichetta bozza. L'etichetta ha lo State di PUBLISHED con hasUnpublishedChanges impostato su 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 Ciclo di vita delle etichette.