Mettre à jour un libellé

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 brouillon. Par exemple, vous pouvez mettre à jour une propriété de libellé existante (la description 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 du 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 réussit, la révision brouillon résultante doit être publiée pour que les modifications puissent être utilisées avec n'importe quel élément Drive.

Mettre à jour des objets de libellé

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

  • Propriétés du libellé
  • Champs et types de champ
  • Choix de sélection et propriétés des choix de sélection

Il s'agit de 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 labels.delta méthode 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 labels.delta fonctionne en acceptant un ou plusieurs objets Request, chacun spécifiant un seul type de requête à effectuer. Il existe de nombreux types de requêtes 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 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 nombreux types de requêtes "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, les autres champs restant 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 collection.

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

  • useAdminAccess est true pour utiliser les identifiants d'administrateur de l'utilisateur. Le serveur vérifie que l'utilisateur est administrateur du libellé avant d'autoriser l'accès.

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

  • Un title de libellé via la property méthode.

  • Un ou plusieurs Field.

  • Une ressource de libellé qui représente chaque libellé. Elle contient un Name et un ID de ressource, qui est un identifiant unique global pour le libellé.

  • LabelView est LABEL_VIEW_FULL pour définir la vue de ressource appliquée aux réponses de libellé. LABEL_VIEW_FULL renvoie tous les champs possibles.

Cet exemple utilise l'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 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=true, ce qui signifie qu'il existe des modifications brouillons, 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.