Mettre à jour un libellé

Vous pouvez mettre à jour un seul libellé à l'aide de l'API Google Drive Labels en appliquant un ensemble de requêtes de mise à jour qui génèrent une nouvelle révision de brouillon. Par exemple, vous pouvez mettre à jour un libellé existant Properties (la description de base du libellé) ou ajouter un nouveau Field au libellé.

La mise à jour du libellé agit comme une mise à jour groupée, car la méthode accepte une liste d'objets Request de mise à jour. Elle effectue les mises à jour dans le même ordre que celui spécifié dans la requête par lot. Les mises à jour groupées 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 réussit, la révision de brouillon obtenue doit être publiée pour que les modifications puissent être utilisées avec n'importe quel élément Google Drive.

Mettre à jour des objets de libellé

Un libellé inclut de nombreux autres types d'objets qui peuvent être mis à jour, tels que :

  • Libellé Properties
  • Objets Field et types de champs
  • Choice de sélection et Properties 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 acceptées par la delta méthode sur la labels ressource peuvent être regroupées dans les catégories générales suivantes :

Catégorie Description
CréerAjouter des objets.
Mettre à jourMettre à jour certaines propriétés d'un objet.
ActiverActiver des objets.
DésactiverDésactiver des objets.
SupprimerSupprimer 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 delta fonctionne en acceptant un ou plusieurs Request objets, 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és en différentes catégories.

Objet de la requête
Propriétés du libellé
Mettre à jour UpdateLabelPropertiesRequest
Champ
Créer CreateFieldRequest
Mettre à jour UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
Activer EnableFieldRequest
Désactiver DisableFieldRequest
Supprimer DeleteFieldRequest
Choix de sélection
Créer CreateSelectionChoiceRequest
Mettre à jour UpdateSelectionChoicePropertiesRequest
Activer EnableSelectionChoiceRequest
Désactiver DisableSelectionChoiceRequest
Supprimer DeleteSelectionChoiceRequest

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 que vous souhaitez mettre à jour, séparés par une virgule, tout en laissant les autres champs inchangés. Le masque est nécessaire 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 delta méthode sur la labels ressource.

Vous devez également spécifier les éléments suivants :

  • Le paramètre de requête useAdminAccess est défini sur true pour utiliser les identifiants d'administrateur de l'utilisateur. Avant d'autoriser l'accès, le serveur vérifie que l'utilisateur dispose des droits d'administrateur requis pour gérer les libellés de classification.

  • Une Request qui spécifie les mises à jour applicables au libellé.

  • Un title de libellé via l'Properties objet.

  • Un ou plusieurs Field objets.

  • Une labels ressource qui représente le libellé. Elle contient un name et un id, qui est un identifiant unique global pour le libellé.

  • Un objet LabelView en tant que LABEL_VIEW_FULL pour définir une vue de ressource appliquée aux réponses de libellé. LABEL_VIEW_FULL renvoie tous les champs possibles.

L'exemple de code suivant montre comment utiliser l'id du libellé pour mettre à jour le libellé approprié :

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);
});

Remplacez les éléments suivants :

  • TITLE : titre du libellé.
  • DISPLAY_NAME : nom à afficher du champ.
  • ID : ID du libellé.

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 libellé brouillon. Le libellé a le State de PUBLISHED avec hasUnpublishedChanges défini sur 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 Cycle de vie des libellés.