Vous pouvez mettre à jour un seul libellé en appliquant un ensemble de requêtes de mise à jour qui génèrent une nouvelle révision 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 accepte une liste d'objets Request de mise à jour. Il effectue les mises à jour dans le même ordre que celui spécifié dans la requête par lot. Les mises à jour du lot sont appliquées de manière atomique. En d'autres termes, 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 réussit, la révision brouillon résultante doit être publiée avant que les modifications puissent être utilisées avec un élément Drive.
Mettre à jour les objets de libellé
Un libellé inclut de nombreux autres types d'objets pouvant être mis à jour, tels que :
- Propriétés des libellés
- Champs et types de champs
- Choix de sélection et propriétés des 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 acceptées par la méthode labels.delta peuvent être regroupées dans les grandes catégories suivantes :
| Catégorie | Description |
|---|---|
| Créer | Ajoutez des objets. |
| Update | Mettez à jour certaines propriétés d'un objet. |
| Activer | Activez les objets. |
| Désactiver | Désactiver des objets |
| Supprimer | Supprimer des 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 demandes. Voici une répartition des types de demandes, regroupées dans différentes catégories.
| Type de requête | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Propriétés des libellés |
|
||||||||||
| Champ |
|
||||||||||
| Choix de la sélection |
|
||||||||||
Masques de champ
De nombreuses demandes 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, en laissant les autres champs inchangés. Le masque est obligatoire pour s'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 :
useAdminAccessesttruepour utiliser les identifiants administrateur de l'utilisateur. Le serveur vérifie que l'utilisateur est un administrateur du libellé avant d'autoriser l'accès.Requestspécifiant les mises à jour applicables au libellé.Un libellé
titlevia la méthodeproperty.Un ou plusieurs
Field.Une ressource Label qui représente chaque libellé. Il contient une ressource
NameetID, qui est un identifiant unique global pour le libellé.LabelViewest défini surLABEL_VIEW_FULLpour définir la vue des ressources appliquée aux réponses des libellés.LABEL_VIEW_FULLrenvoie 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 en tant que libellé brouillon. Le libellé State de PUBLISHED avec hasUnpublishedChanges=true signifie qu'il existe des modifications en brouillon, mais qu'elles ne sont pas disponibles pour les utilisateurs. Le libellé modifié doit être PUBLISHED pour que les modifications soient visibles par les utilisateurs. Pour en savoir plus, consultez Cycle de vie des libellés.