Google Kalender-Schnittstellen erstellen

Google Workspace-Add-ons können benutzerdefinierte Oberflächen bereitstellen, wenn der Nutzer Kalender und Kalendertermine aufruft oder bearbeitet. So können Sie dem Nutzer zusätzliche relevante Informationen zur Verfügung stellen, Aufgaben automatisieren und Drittanbietersysteme mit dem Kalender verbinden.

Wenn Sie eine Google Workspace-Add‑on-Benutzeroberfläche für Kalender erstellen, können Sie eine Startseite bereitstellen. Sie können dieselbe Startseite für mehrere Hosts verwenden oder eine spezielle Startseite für Google Kalender erstellen.

Ihr Add-on kann auch eine Benutzeroberfläche definieren, die angezeigt wird, wenn der Nutzer einen Kalendertermin geöffnet hat.

Auf die Add‑on-Benutzeroberfläche zugreifen

Die Benutzeroberfläche kann je nach Kontext auf verschiedene Arten angezeigt werden. Ein Add-on kann beispielsweise eine Startseitenoberfläche, eine Kalenderterminoberfläche, eine Oberfläche zur Auswahl von Anhängen oder alle drei definieren:

  • Wenn ein Nutzer in einer Kalenderansicht auf das Add-on-Symbol klickt, wird die entsprechende calendar.homepageTrigger-Funktion des Add-ons ausgeführt (sofern vorhanden). Diese Funktion erstellt und gibt eine Startseitenkarte für die Anzeige in Google Kalender zurück. Wenn keine calendar.homepageTrigger-Funktion definiert ist, wird stattdessen eine generische Startseitenkarte angezeigt.
  • Wenn der Nutzer einen Kalendertermin öffnet und dann auf das Add-on-Symbol klickt oder das Add-on geöffnet ist, wenn der Nutzer einen Termin öffnet, führt das Add-on die entsprechende eventOpenTrigger-Funktion aus (falls vorhanden). Diese Funktion erstellt die Benutzeroberfläche für Kalendertermine des Add-ons und gibt sie zur Anzeige an Google Kalender zurück.
  • Wenn im Add-on eine eventAttachmentTrigger-Funktion definiert ist, wird es als Anbieter für Anhänge angezeigt, wenn der Nutzer beim Bearbeiten eines Kalendertermins auf Anhang hinzufügen klickt. Wenn das Add-on ausgewählt ist, erstellt die Funktion eventAttachmentTrigger die Benutzeroberfläche für die Auswahl von Anhängen des Add-ons und gibt sie zur Anzeige an Google Kalender zurück.

Kalender-Add-on-Oberfläche erstellen

So erstellen Sie die Benutzeroberfläche: So können Sie Google Kalender mit einem Google Workspace-Add-on erweitern:

  1. Legen Sie fest, ob Ihr Add-on eine kalenderspezifische Startseite haben soll. Außerdem können Sie festlegen, ob Sie eine benutzerdefinierte Benutzeroberfläche bereitstellen möchten, während der Nutzer Kalendertermine bearbeitet.
  2. Fügen Sie dem Add-on-Skriptprojekt Manifest die entsprechenden Felder addOns.common und addOns.calendar hinzu, einschließlich aller erforderlichen Bereiche.
  3. Wenn Sie eine Kalender-spezifische Startseite bereitstellen, implementieren Sie die Funktion calendar.homepageTrigger, um diese Benutzeroberfläche zu erstellen. Sie können die common.homepageTrigger-Schnittstelle auch für mehrere Hostanwendungen verwenden.
  4. Wenn Sie eine Schnittstelle für Kalendertermine bereitstellen, implementieren Sie eine calendar.eventOpenTrigger-Funktion, um diese Schnittstelle zu erstellen. Weitere Informationen finden Sie unter Extending the Calendar event interface.
  5. Implementieren Sie die zugehörigen Callback-Funktionen, die erforderlich sind, um auf die UI-Interaktionen des Nutzers zu reagieren, z. B. auf Schaltflächenklicks.

Kalender-Startseiten

Add-ons unterstützen die Anzeige von Startseiten für Google Workspace-Add-ons. Damit die gemeinsame Startseite Ihres Add-ons in Google Kalender angezeigt wird, muss im Manifest des Add-ons das Feld addOns.calendar vorhanden sein.

Alternativ können Sie dem Add-on-Manifest eine calendar.homepageTrigger hinzufügen, um eine Kalender-spezifische Startseite bereitzustellen.

In beiden Fällen müssen Sie den Namen einer Homepage-Triggerfunktion im Skriptprojekt Ihres Add-ons angeben. Diese Funktion wird automatisch aufgerufen, um die Kalender-Startseite zu erstellen, wenn sie benötigt wird. Implementieren Sie diese Funktion, um ein einzelnes Card-Objekt oder ein Array von Card-Objekten zu erstellen und zurückzugeben, aus denen die Startseite besteht. Der Homepage-Triggerfunktion wird ein Ereignisobjekt als Parameter übergeben, das einige allgemeine Informationen wie die Plattform des Clients enthält. Verwenden Sie die Daten des Ereignisobjekts, um die Erstellung der Startseite anzupassen.

Kalendertermin-Oberfläche erweitern

In Google Kalender wird anhand eines kontextbezogenen Triggers ermittelt, welche Benutzeroberfläche (falls vorhanden) angezeigt werden soll, wenn der Nutzer einen Kalendertermin bearbeitet. Wenn der Trigger ausgelöst wird, wird die kontextbezogene Triggerfunktion ausgeführt, die im Add-on-Manifest durch das Feld calendar.eventOpenTrigger angegeben wird.

Implementieren Sie die Funktion, die im Feld calendar.eventOpenTrigger angegeben ist. Diese Funktion akzeptiert ein Ereignisobjekt als Argument und muss entweder ein einzelnes Card-Objekt oder ein Array von Card-Objekten zurückgeben, die in Google Kalender angezeigt werden, während der Nutzer das Ereignis geöffnet hat.

Ereignisobjekte

Ein Ereignisobjekt wird erstellt und an die kontextbezogene Triggerfunktion calendar.eventOpenTrigger übergeben, wenn ein Nutzer einen Kalendertermin öffnet. Die Triggerfunktion kann die Informationen in diesem Ereignisobjekt verwenden, um zu bestimmen, wie Add-on-Karten erstellt oder das Add-on-Verhalten gesteuert werden soll. Ereignisobjekte werden auch erstellt und an homepageTrigger-Funktionen übergeben, wenn ein Add‑on zum ersten Mal geöffnet wird und wenn der Nutzer auf interaktive Widgets klickt oder sie auswählt.

Die vollständige Struktur von Ereignisobjekten wird unter Ereignisobjekte beschrieben. Wenn Kalender die Host-App des Add-ons ist, enthalten kontextbezogene Trigger- und Widget-Interaktionsereignisobjekte das Feld Calendar event object (Kalenderterminobjekt), das Kalender-spezifische Clientinformationen enthält.

Kalendertermine aktualisieren

Zusätzlich zum kontextbezogenen calendar.eventOpenTrigger, das ausgelöst wird, wenn ein Nutzer einen Kalendertermin zur Bearbeitung öffnet, können Sie auch ein calendar.eventUpdateTrigger definieren, das ausgelöst wird, wenn der Nutzer einen Kalendertermin aktualisiert und speichert. Dieser Trigger wird nur ausgelöst, wenn der Nutzer eine oder mehrere der folgenden Änderungen vornimmt:

  • Fügt einen oder mehrere Teilnehmer hinzu.
  • Entfernt einen oder mehrere Teilnehmer.
  • Fügt eine andere Konferenzlösung hinzu oder wechselt zu einer anderen.

Wenn dieser Trigger ausgelöst wird, wird die Triggerfunktion ausgeführt, die durch das Manifestfeld calendar.eventUpdateTrigger angegeben wird. Die Funktion wird ausgeführt, bevor die Bearbeitung des Kalendertermins gespeichert wird.

Diecalendar.eventUpdateTriggerwird in der Regel für einen oder mehrere der folgenden Zwecke verwendet:

  • Aktualisieren Sie die Add-on-Schnittstelle für Kalendertermine als Reaktion auf Nutzeränderungen am Kalendertermin.
  • Kalendertermindaten mit einem Drittanbietersystem synchronisieren, z. B. einem Konferenzsystem, das mit Google Kalender verbunden ist.

Wenn Ihr Add-on Anpassungen an den Daten eines Kalendertermins vornehmen muss, z. B. an der Teilnehmerliste, legen Sie das Manifestfeld calendar.currentEventAccess des Add-ons auf WRITE oder READ_WRITE fest. Dafür muss das Add-on auch den https://www.googleapis.com/auth/calendar.addons.current.event.write-Bereich haben.

Konferenzlösungen hinzufügen

Wenn Sie ein Drittanbietersystem für Videokonferenzen verwenden, können Sie es in Google Kalender einbinden, indem Sie Konferenzlösungen hinzufügen. Diese Funktion befand sich zuvor als Add-ons für Videokonferenzen in Google Kalender in der Betaphase.

Konferenzlösungen sind Konferenzoptionen von Drittanbietern, die Nutzer an Kalendertermine anhängen können. In der Dokumentation Konferenzen mit Drittanbietern finden Sie Informationen zum Erstellen eines Add-ons, mit dem neue Konferenzlösungen hinzugefügt werden. Für diese Art von Erweiterung ist keine Benutzeroberfläche erforderlich. Die hinzugefügten Lösungen werden als Optionen im Drop-down-Menü der Google Kalender-Termin-Benutzeroberfläche angezeigt.