Vous pouvez mettre à jour un seul libellé en appliquant un ensemble de requêtes de mise à jour, ce qui génère un nouveau brouillon de révision. Par exemple, vous pouvez mettre à jour une propriété de libellé existante (la description du libellé) ou ajouter une nouvelle Field
au libellé.
La mise à jour des étiquettes agit comme une mise à jour par lot, car la méthode prend une liste d'objets de mise à jour Request
. Les mises à jour sont effectuées dans le même ordre que celui spécifié dans la requête par lot. Les mises à jour par lot sont appliquées de manière atomique. Autrement dit, si l'une des requêtes du lot échoue, la mise à jour complète échoue et aucune des modifications (potentiellement dépendantes) n'est appliquée. Le libellé n'est pas modifié.
Si la mise à jour aboutit, la révision du brouillon obtenue doit être publiée pour que les modifications puissent être utilisées avec un élément Drive.
Mettre à jour des objets de libellé
Une étiquette inclut de nombreux autres types d'objets pouvant être mis à jour, tels que:
- Propriétés du libellé
- Champs et types de champs
- Options de sélection et propriétés de choix de sélection
Voici quelques-uns des nombreux objets qui contrôlent l'apparence et le fonctionnement d'un libellé.
Catégories d'opérations
Les opérations suivantes, compatibles avec la méthode labels.delta
, peuvent être regroupées dans les grandes catégories suivantes:
Catégorie | Description |
---|---|
Créer | Ajouter des objets |
Mettre à jour | Met à jour certaines propriétés d'un objet. |
Activer | Activer les objets. |
Désactiver | Désactiver des objets |
Supprimer | supprimer des objets ; |
Ces catégories seront utilisées dans la section suivante pour décrire le comportement d'opérations spécifiques.
Demandes de mises à jour
La méthode labels.delta
fonctionne en prenant un ou plusieurs objets Request, chacun spécifiant un seul type de requête à effectuer. Il existe de nombreux
types de demandes différents. Voici une répartition des types de requêtes, regroupés en différentes catégories.
Type de requête | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Propriétés des libellés |
|
||||||||||
Champ |
|
||||||||||
Choix de sélection |
|
Masques de champ
De nombreuses requêtes de type "Mettre à jour" et "Désactiver" nécessitent un FieldMask
.
Il s'agit d'une liste de champs séparés par une virgule que vous souhaitez mettre à jour sans modifier les autres champs. Le masque est nécessaire pour que seuls les champs que vous souhaitez modifier soient à jour. Vous devez spécifier au moins un champ.
Exemple
Pour mettre à jour un libellé, utilisez la méthode delta
sur la collection labels
.
Vous devez également spécifier les informations suivantes:
useAdminAccess
esttrue
pour utiliser les identifiants d'administrateur de l'utilisateur. Le serveur vérifie que l'utilisateur est un administrateur du libellé avant d'autoriser l'accès.Un élément
Request
qui spécifie les mises à jour applicables au libellé.Un libellé
title
via la méthodeproperty
.un ou plusieurs
Field
;Une ressource d'étiquette qui représente chaque étiquette. Il contient une ressource
Name
etID
, qui est l'identifiant unique du libellé.LabelView
estLABEL_VIEW_FULL
pour définir la vue des ressources appliquée aux réponses aux libellés.LABEL_VIEW_FULL
renvoie tous les champs possibles.
Cet exemple utilise ID
pour mettre à jour le libellé approprié.
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);
});
Le libellé, le champ ou le choix sont mis à jour, l'ID de révision du libellé est incrémenté et le libellé est stocké dans une base de données sous forme de brouillon. Le libellé a le State
de PUBLISHED
avec hasUnpublishedChanges=true
, ce qui signifie qu'il existe des brouillons de modifications, mais qu'ils ne sont pas disponibles pour les utilisateurs. Le libellé mis à jour doit être PUBLISHED
pour que les utilisateurs puissent voir les modifications. Pour en savoir plus, consultez la section Cycle de vie des étiquettes.