Vous pouvez mettre à jour un seul libellé en appliquant un ensemble de requêtes de mise à jour, ce qui génère une nouvelle version provisoire. Par exemple, vous pouvez mettre à jour une propriété de libellé existante (la description du libellé) ou ajouter un Field
au libellé.
La mise à jour du libellé agit comme une mise à jour par lot, car la méthode prend une liste d'objets Request
à mettre à jour. Il effectue les mises à jour dans le même ordre que celui spécifié dans la requête groupée. Les mises à jour de la mise à jour par lot sont appliquées de manière atomique. Autrement dit, si une requête du lot échoue, la mise à jour entière échoue et aucune des modifications (potentiellement dépendantes) n'est appliquée. Le libellé reste inchangé.
Si la mise à jour aboutit, la version brouillon qui en résulte doit être publiée avant que les modifications ne puissent être utilisées avec un élément Drive.
Modifier les objets de libellé
Un libellé inclut de nombreux autres types d'objets pouvant être mis à jour, par exemple:
- Propriétés du libellé
- Champs et types de champs
- Choix 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ération
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 | Ajoutez des objets. |
Mettre à jour | Mettre à jour certaines propriétés d'un objet |
Activer | Activez les objets. |
Désactiver | Désactiver des objets |
Supprimer | Supprimez les objets. |
Ces catégories sont 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 requêtes. Voici une répartition des types de requêtes, regroupées en différentes catégories.
Type de requête | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Propriétés des libellés |
|
||||||||||
Champ |
|
||||||||||
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 à mettre à jour, séparés par une virgule, tout en laissant les autres champs inchangés. Le masque est nécessaire pour vous assurer que seuls les champs que vous souhaitez modifier sont mis à 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 éléments suivants:
useAdminAccess
esttrue
pour utiliser les identifiants administrateur de l'utilisateur. Le serveur vérifie que l'utilisateur est administrateur du libellé avant d'autoriser l'accès.Request
qui spécifie les mises à jour applicables au libellé.Un libellé
title
via la méthodeproperty
.Un ou plusieurs
Field
.Ressource de libellé représentant chaque libellé. Il contient une ressource
Name
etID
, qui est un identifiant unique global pour le libellé.LabelView
estLABEL_VIEW_FULL
pour définir la vue de ressources appliquée aux réponses d'étiquetage.LABEL_VIEW_FULL
renvoie tous les champs possibles.
Cet exemple utilise ID
pour mettre à jour le libellé correct.
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 est mis à jour, l'ID de révision du libellé est incrémenté et le libellé est stocké dans une base de données en tant que brouillon. Le libellé comporte le State
de PUBLISHED
avec hasUnpublishedChanges=true
, ce qui signifie qu'il existe des modifications de brouillon, mais qu'elles ne sont pas disponibles pour les utilisateurs. Le libellé mis à jour doit être PUBLISHED
pour que les modifications soient visibles par les utilisateurs. Pour en savoir plus, consultez la section Cycle de vie des libellés.