Créer des interfaces Google Drive

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

Accéder à l'interface utilisateur 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 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, celui-ci exécute la fonction drive.homepageTrigger correspondante (le cas échéant). Cette fonction crée et renvoie une fiche 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.
  • 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 alors que le module complémentaire est ouvert, celui-ci exécute la fonction contextuelle drive.onItemsSelectedTrigger correspondante (le cas échéant). Cette fonction crée l'interface contextuelle des éléments sélectionnés du module complémentaire dans Google Drive, puis la renvoie à Google Drive pour affichage.

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

Vous pouvez créer des interfaces qui étendent Google Drive en procédant comme suit:

  1. Déterminez si vous souhaitez que le module complémentaire ait 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 de module complémentaire, y compris les champs d'application 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 contextuels Drive, vous devez implémenter une fonction de déclencheur contextuel drive.onItemsSelectedTrigger pour créer cette interface. Pour en savoir plus, consultez Interface contextuelle de 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'interface utilisateur, telles que les clics sur les boutons.

Générer des pages d'accueil

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'il existe un champ addOns.drive 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 automatiquement appelée pour créer la page d'accueil Drive lorsque cela est nécessaire. Vous devez implémenter cette fonction pour créer et renvoyer un seul élément Card ou un tableau d'objets Card qui constituent la page d'accueil. La fonction de déclenchement 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 d'objet d'événement pour personnaliser la construction de la page d'accueil.

Interface contextuelle de 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 s'exécute, 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 contextuels 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 pour l'interface. Par exemple, si vous incluez un bouton dans l'interface, celui-ci doit être associé à une action et à une fonction de rappel implémentée qui s'exécute lorsque l'utilisateur clique dessus.

Objets é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 cartes complémentaires ou contrôler leur comportement.

La structure complète des objets d'événement est décrite dans la section Objets é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 sélectionnés par l'utilisateur lorsque le déclencheur est exécuté. Lorsqu'un utilisateur sélectionne plusieurs éléments dans Drive, l'un des éléments est considéré comme particulièrement intéressant. Cet élément est appelé élément de 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"
          },
          ...
        ]
      },
      ...
    }