Puoi aggiornare una singola etichetta applicando un insieme di richieste di aggiornamento che generano una nuova revisione della bozza. Ad esempio, puoi aggiornare una proprietà di etichetta esistente (la descrizione dell'etichetta) o aggiungere una nuova Field
all'etichetta.
L'aggiornamento delle etichette agisce come un aggiornamento batch poiché il metodo richiede un elenco di oggetti Request
di aggiornamento. Esegue gli aggiornamenti in base allo stesso ordine specificato nella richiesta batch. Gli aggiornamenti nell'aggiornamento batch vengono applicati a livello atomico. Ciò significa che se una qualsiasi richiesta nel batch non va a buon fine, l'intero aggiornamento non andrà a buon fine e non verrà applicata nessuna delle modifiche (potenzialmente dipendenti). 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 oggetti etichetta
Un'etichetta include molti altri tipi di oggetti che possono essere aggiornati, ad esempio:
- Proprietà etichetta
- Campi e tipi di campi
- Scelte di selezione e Proprietà scelta di selezione
Questi sono alcuni dei numerosi oggetti che controllano l'aspetto e il funzionamento di un'etichetta.
Categorie di attività
Le seguenti operazioni supportate dal metodo labels.delta
possono essere raggruppate nelle seguenti ampie categorie:
Categoria | Descrizione |
---|---|
Crea | Aggiungi oggetti. |
Aggiorna | Aggiornare determinate proprietà di un oggetto. |
Attiva | Abilita gli oggetti. |
Disattiva | Disabilita gli oggetti. |
Elimina | Rimuovi gli oggetti. |
Queste categorie vengono utilizzate nella prossima sezione per descrivere il comportamento di operazioni specifiche.
Richieste di aggiornamento
Il metodo labels.delta
funziona
accettando uno o più oggetti
Request, ciascuno dei quali
specifica un singolo tipo di richiesta da eseguire. Esistono molti tipi diversi di richieste. Ecco un'analisi dettagliata dei tipi di richieste, raggruppati in diverse categorie.
Tipo di richiesta | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Proprietà etichetta |
|
||||||||||
Campo |
|
||||||||||
Scelta |
|
Maschere dei campi
Molte delle richieste di tipo "Aggiorna" e "Disattiva" richiedono un
FieldMask
.
Si tratta di un elenco delimitato da virgole di campi che vuoi aggiornare senza modificare gli altri campi. La maschera è obbligatoria per garantire che vengano aggiornati solo i campi da 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.Una
Request
che specifica gli aggiornamenti applicabili all'etichetta.Un'etichetta
title
tramite il metodoproperty
.Uno o più
Field
.Una risorsa Etichetta che rappresenta ogni etichetta. Contiene una risorsa
Name
eID
, che è un identificatore univoco globale per l'etichetta.LabelView
èLABEL_VIEW_FULL
per impostare la visualizzazione Risorse applicata alle risposte alle 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 l'etichetta viene archiviata in un database come etichetta di bozza. L'etichetta ha
State
di PUBLISHED
con
hasUnpublishedChanges=true
, il che significa che sono presenti modifiche alla bozza, che però non sono
disponibili per gli utenti. L'etichetta aggiornata deve essere PUBLISHED
prima che le modifiche diventino visibili agli utenti. Per ulteriori informazioni, vedi Ciclo di vita delle etichette.