Créer des interfaces Google Drive

Les modules complémentaires Google Workspace peuvent fournir des interfaces personnalisées lorsque l'utilisateur utilise Google Drive. Vous pouvez ainsi fournir à l'utilisateur des informations supplémentaires pertinentes, automatiser des tâches et connecter des systèmes tiers à Google Drive.

Accéder à l'UI du module complémentaire

Vous pouvez ouvrir un module complémentaire Google Workspace dans Google Drive si son icône apparaît dans la colonne d'icônes à droite de l'interface utilisateur de Drive. Un module complémentaire Google Workspace peut définir une interface de page d'accueil, une interface de sélection d'éléments ou les deux:

  • Si un utilisateur clique sur l'icône du module complémentaire dans Google Drive, le module complémentaire exécute la fonction drive.homepageTrigger correspondante (si elle est présente). Cette fonction crée et renvoie une fiche de page d'accueil dans Google Drive pour l'afficher. Si aucune fonction drive.homepageTrigger n'est définie, une fiche de page d'accueil générique s'affiche à la place.
  • Si l'utilisateur sélectionne un ou plusieurs éléments dans Google Drive, puis clique sur l'icône du module complémentaire ou sélectionne des éléments lorsque le module complémentaire est ouvert, le module complémentaire exécute la fonction contextuelle drive.onItemsSelectedTrigger correspondante (si elle est présente). Cette fonction crée l'interface contextuelle "Éléments sélectionnés" de Google Drive du module complémentaire et la renvoie à Google Drive pour l'afficher.

Créer l'interface Drive du module complémentaire

Pour créer des interfaces qui étendent Google Drive, procédez comme suit:

  1. Décidez si vous souhaitez que votre module complémentaire dispose d'une page d'accueil spécifique à Drive. Décidez également si vous souhaitez fournir une interface contextuelle lorsque l'utilisateur sélectionne des éléments Drive.
  2. Ajoutez les champs addOns.common et addOns.drive appropriés au fichier manifeste du projet de script du module complémentaire, y compris les champs d'étendue Drive requis.
  3. Si vous fournissez une page d'accueil spécifique à Drive, implémentez la fonction drive.homepageTrigger pour créer cette interface. Vous pouvez également choisir d'utiliser l'interface common.homepageTrigger pour plusieurs hôtes Google Workspace.
  4. Si vous fournissez une interface de sélection d'éléments contextuelle Drive, vous devez implémenter une fonction de déclencheur contextuel drive.onItemsSelectedTrigger pour créer cette interface. Pour en savoir plus, consultez la section Interface contextuelle Drive pour les éléments sélectionnés.
  5. Implémentez les fonctions de rappel associées nécessaires pour répondre aux interactions de l'utilisateur avec l'UI, telles que les clics sur les boutons.

Pages d'accueil de Drive

Google Drive permet d'afficher les pages d'accueil des modules complémentaires Google Workspace. Pour afficher la page d'accueil commune de votre module complémentaire dans Google Drive, assurez-vous simplement qu'un champ addOns.drive figure dans le fichier manifeste du module complémentaire.

Vous pouvez également ajouter un drive.homepageTrigger au fichier manifeste du module complémentaire pour fournir une page d'accueil spécifique à Drive.

Dans les deux cas, vous devez fournir le nom d'une fonction de déclencheur de page d'accueil dans le projet de script de votre module complémentaire. Cette fonction est appelée automatiquement pour créer la page d'accueil de Drive lorsque cela est nécessaire. Vous devez implémenter cette fonction pour créer et renvoyer un seul Card ou un tableau d'objets Card qui constituent la page d'accueil. La fonction de déclencheur de la page d'accueil reçoit un objet d'événement en tant que paramètre contenant des informations générales telles que la plate-forme du client. Vous pouvez utiliser les données de l'objet d'événement pour adapter la création de la page d'accueil.

Interface contextuelle Drive pour les éléments sélectionnés

Google Drive s'appuie sur un déclencheur contextuel pour déterminer l'interface (le cas échéant) à afficher lorsque l'utilisateur sélectionne un ou plusieurs éléments Google Drive. Lorsque le déclencheur se déclenche, il exécute la fonction de déclencheur contextuel spécifiée par le champ drive.onItemsSelectedTrigger.runFunction dans le fichier manifeste du module complémentaire.

Pour créer une interface de sélection d'éléments contextuelle pour Drive, procédez comme suit:

  1. Assurez-vous que le fichier manifeste du module complémentaire inclut le champ d'application https://www.googleapis.com/auth/drive.addons.metadata.readonly.

  2. Assurez-vous que le fichier manifeste inclut une section drive.onItemsSelectedTrigger.

  3. Implémentez la fonction nommée dans le champ drive.onItemsSelectedTrigger. Cette fonction accepte un objet d'événement comme argument et doit renvoyer un seul objet Card ou un tableau d'objets Card.

  4. Comme pour toute fiche, vous devez implémenter toutes les fonctions de rappel utilisées pour fournir une interactivité de widget à l'interface. Par exemple, si vous incluez un bouton dans l'interface, il doit comporter une action associée et une fonction de rappel implémentée qui s'exécute lorsque l'utilisateur clique sur le bouton.

Objets d'événement

Un objet d'événement est créé et transmis à la fonction de déclencheur drive.homepageTrigger ou drive.onItemsSelectedTrigger lorsque ces fonctions sont appelées. La fonction de déclencheur peut utiliser les informations de cet objet d'événement pour déterminer comment créer des fiches de modules complémentaires ou contrôler autrement le comportement des modules complémentaires.

La structure complète des objets d'événement est décrite dans la section Objets d'événement. Lorsque Drive est l'application hôte du module complémentaire, les objets d'événement contextuels incluent le champ Objet d'événement Drive qui contient des informations client spécifiques à Drive.

Les objets d'événement Drive contextuels pour les déclencheurs de sélection d'éléments incluent des informations sur les éléments que l'utilisateur a sélectionnés lorsque le déclencheur se déclenche. Lorsqu'un utilisateur sélectionne plusieurs éléments dans Drive, l'un d'eux est considéré comme étant d'intérêt principal. Cet élément est appelé élément du curseur actif.

L'exemple suivant montre un objet d'événement Drive transmis à une fonction drive.onItemsSelectedTrigger:

    {
      "commonEventObject": { ... },
      "drive": {
        "activeCursorItem":{
          "addonHasFileScopePermission": true,
          "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
          "iconUrl": "https://drive-thirdparty.googleusercontent.com...",
          "mimeType":"application/pdf",
          "title":"How to get started with Drive"
        },
        "selectedItems": [
          {
            "addonHasFileScopePermission": true,
            "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
            "iconUrl":"https://drive-thirdparty.googleusercontent.com...",
            "mimeType":"application/pdf",
            "title":"How to get started with Drive"
          },
          ...
        ]
      },
      ...
    }