Création d'interfaces Google Agenda

Les modules complémentaires Google Workspace peuvent fournir des interfaces personnalisées lorsque l'utilisateur consulte ou modifie des agendas et des événements Agenda. Cela vous permet de fournir à l'utilisateur des informations pertinentes supplémentaires, d'automatiser des tâches et de connecter des systèmes tiers à Google Agenda.

Lorsque vous créez une interface de module complémentaire pour Google Agenda, vous pouvez fournir une page d'accueil. Vous pouvez utiliser la même page d'accueil pour plusieurs hôtes ou en concevoir une spécifique pour Google Agenda.

Votre module complémentaire peut également définir une interface qui s'affiche lorsque l'utilisateur a un événement Agenda ouvert.

Accéder à l'interface utilisateur du module complémentaire

Selon la façon dont il est ouvert, un module complémentaire Google Workspace peut définir une interface de page d'accueil, une interface d'événement Google Agenda, une interface de sélection de pièces jointes ou les trois :

  • Si un utilisateur clique sur l'icône du module complémentaire dans une vue Agenda, le module complémentaire exécute la fonction calendar.homepageTrigger correspondante (le cas échéant). Cette fonction crée et renvoie une fiche de page d'accueil à l'agenda pour l'affichage. Si aucune fonction calendar.homepageTrigger n'est définie, une fiche générique de page d'accueil s'affiche à la place.
  • Si l'utilisateur ouvre un événement Agenda, puis clique sur l'icône du module complémentaire, ou si le module complémentaire est ouvert lorsque l'utilisateur ouvre un événement, le module complémentaire exécute la fonction eventOpenTrigger correspondante (le cas échéant). Cette fonction crée l'interface d'événement d'agenda du module complémentaire et renvoie à Google Agenda pour affichage.
  • Si le module complémentaire définit une fonction eventAttachmentTrigger, il apparaît en tant que fournisseur de pièces jointes lorsque l'utilisateur clique sur Ajouter une pièce jointe lors de la modification d'un événement Agenda. Lorsque le module complémentaire est sélectionné, la fonction eventAttachmentTrigger crée l'interface de sélection des pièces jointes du module complémentaire et la renvoie à Google Agenda pour l'affichage.

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

Pour étendre Google Agenda avec un module complémentaire Google Workspace, procédez comme suit :

  1. Décidez si vous souhaitez que votre module complémentaire dispose d'une page d'accueil spécifique à Google Agenda. Décidez également si vous souhaitez fournir une interface personnalisée pendant que l'utilisateur modifie des événements d'agenda.
  2. Ajoutez les champs addOns.common et addOns.calendar appropriés au fichier manifeste du projet de script du module complémentaire, y compris les scopes requis.
  3. Si vous fournissez une page d'accueil spécifique à Agenda, implémentez la fonction calendar.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 d'événement d'agenda, vous devez implémenter une fonction calendar.eventOpenTrigger pour créer cette interface. Pour en savoir plus, consultez Étendre l'interface des événements Agenda.
  5. Implémentez les fonctions de rappel associées nécessaires pour répondre aux interactions de l'utilisateur avec l'UI, comme les clics sur les boutons.

Pages d'accueil Agenda

Google Agenda 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 Agenda, assurez-vous simplement qu'il existe un champ addOns.calendar dans le fichier manifeste du module complémentaire.

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

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 Google Agenda 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 composent 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, qui contient 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 personnaliser la création de la page d'accueil.

Étendre l'interface des événements d'agenda

Google Agenda s'appuie sur un déclencheur contextuel pour déterminer l'interface (le cas échéant) à afficher lorsque l'utilisateur modifie un événement Agenda. Lorsque le déclencheur se déclenche, il exécute la fonction de déclencheur contextuel spécifiée par le champ calendar.eventOpenTrigger dans le fichier manifeste du module complémentaire.

Vous devez implémenter la fonction nommée dans le champ calendar.eventOpenTrigger. Cette fonction accepte un objet d'événement comme argument et doit renvoyer un seul objet Card ou un tableau d'objets Card qu'Agenda affichera lorsque l'utilisateur aura ouvert l'événement.

Objets d'événement

Un objet événement est créé et transmis à la fonction de déclencheur contextuel calendar.eventOpenTrigger lorsqu'un utilisateur ouvre un événement Agenda. La fonction de déclencheur peut utiliser les informations de cet objet d'événement pour déterminer comment créer des fiches de module complémentaire ou contrôler le comportement du module complémentaire. Des objets d'événement sont également créés et transmis aux fonctions homepageTrigger lorsqu'un module complémentaire est ouvert pour la première fois, et lorsque l'utilisateur clique sur des widgets interactifs ou les sélectionne.

La structure complète des objets d'événement est décrite dans Objets d'événement. Lorsque Agenda est l'application hôte de l'extension, les objets d'événement de déclencheur contextuel et d'interaction avec le widget incluent le champ Objet d'événement Agenda qui contient des informations client spécifiques à Agenda.

Modifier des événements d'agenda

En plus de l'calendar.eventOpenTrigger contextuel qui se déclenche lorsqu'un utilisateur ouvre un événement d'agenda pour le modifier, vous pouvez également définir un calendar.eventUpdateTrigger qui se déclenche lorsque l'utilisateur modifie et enregistre un événement d'agenda. Ce déclencheur ne se déclenche que si l'utilisateur effectue une ou plusieurs des modifications suivantes :

  • Ajoute un ou plusieurs participants.
  • Supprime un ou plusieurs participants.
  • Ajoute ou sélectionne une autre solution de visioconférence.

Lorsque ce déclencheur est activé, il exécute la fonction de déclencheur spécifiée par le champ de fichier manifeste calendar.eventUpdateTrigger. La fonction est exécutée avant l'enregistrement de la modification de l'événement d'agenda.

Le calendar.eventUpdateTrigger est généralement utilisé pour effectuer une ou plusieurs des opérations suivantes :

  • Mettez à jour l'interface de l'événement d'agenda du module complémentaire en réponse aux modifications apportées par l'utilisateur à l'événement d'agenda.
  • Synchronisez les données des événements d'agenda avec un système tiers, tel qu'un système de visioconférence connecté à Google Agenda.

Si votre module complémentaire doit ajuster les données d'un événement Agenda (comme sa liste de participants), vous devez définir le champ de fichier manifeste calendar.currentEventAccess du module complémentaire sur WRITE ou READ_WRITE. Cela nécessite également que le module complémentaire dispose du champ d'application https://www.googleapis.com/auth/calendar.addons.current.event.write.

Ajouter des solutions de visioconférence

Les solutions de visioconférence représentent des options de visioconférence tierces que les utilisateurs peuvent associer à des événements Google Agenda. La documentation Présentation des outils de conférence tiers explique comment créer un module complémentaire qui ajoute de nouvelles solutions de conférence. Il n'est pas nécessaire de créer une UI pour ce type d'extension. Les solutions ajoutées apparaissent simplement comme des options dans le menu déroulant de l'UI des événements Google Agenda.