Mit Google Workspace-Add‑ons können Sie benutzerdefinierte Oberflächen in den Editoren bereitstellen, darunter Google Docs, Sheets und Präsentationen. So können Sie dem Nutzer relevante Informationen zur Verfügung stellen, Aufgaben automatisieren und Drittanbietersysteme mit den Editoren verbinden.
Auf die Add-on-Benutzeroberfläche zugreifen
Sie können ein Google Workspace-Add-on in den Editoren öffnen, wenn sein Symbol in der Seitenleiste für den Google Workspace-Schnellzugriff auf der rechten Seite der Benutzeroberflächen von Docs, Sheets und Präsentationen angezeigt wird.
Ein Google Workspace-Add-on kann die folgenden Oberflächen präsentieren:
Startseitenoberflächen: Wenn das Manifest des Add-ons den Trigger
EDITOR_NAME.homepageTrigger
für den Editor enthält, in dem der Nutzer das Add-on öffnet, wird eine Startseitenkarte speziell für diesen Editor erstellt und zurückgegeben. Wenn das Manifest des Add-ons nicht dieEDITOR_NAME.homepageTrigger
für den Editor enthält, in dem der Nutzer es öffnet, wird stattdessen eine allgemeine Startseitenkarte angezeigt.REST API-Schnittstellen: Wenn das Add-on REST APIs verwendet, können Sie Trigger einfügen, die mit dem Bereich
drive.file
den Zugriff auf einzelne Dateien in einem Dokument anfordern. Nachdem die Berechtigung erteilt wurde, wird ein weiterer Trigger namensEDITOR_NAME.onFileScopeGrantedTrigger
ausgeführt und eine für die Datei spezifische Benutzeroberfläche wird angezeigt.Schnittstellen für die Linkvorschau: Wenn Ihr Add-on in einen Drittanbieterdienst eingebunden ist, können Sie Karten erstellen, auf denen Inhalte aus den URLs Ihres Dienstes in der Vorschau angezeigt werden.
Benutzeroberflächen für Editor-Add-ons erstellen
So erstellen Sie Add-on-Schnittstellen für die Editoren:
- Fügen Sie dem Add-on-Skriptprojekt Manifest die entsprechenden Felder
addOns.common
,addOns.docs
,addOns.sheets
undaddOns.slides
hinzu. - Fügen Sie dem Manifest Ihres Skriptprojekts alle erforderlichen Editor-Bereiche hinzu.
- Wenn Sie eine editorspezifische Startseite bereitstellen, implementieren Sie die Funktion
EDITOR_NAME.homepageTrigger
, um die Benutzeroberfläche zu erstellen. Andernfalls können Sie mit dercommon.homepageTrigger
-Schnittstellecommon.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
common.homepageTrigger
� - Wenn Sie REST APIs verwenden, implementieren Sie den Autorisierungsablauf für den
drive.file
-Bereich und dieEDITOR_NAME.onFileScopeGrantedTrigger
-Triggerfunktion, um eine Schnittstelle anzuzeigen, die für die geöffnete Datei spezifisch ist. Weitere Informationen finden Sie unter REST API-Schnittstellen. - Wenn Sie Linkvorschauen über einen Drittanbieterdienst konfigurieren, implementieren Sie den Autorisierungsablauf für den Bereich
https://www.googleapis.com/auth/workspace.linkpreview
und die FunktionlinkPreviewTriggers
. Weitere Informationen finden Sie unter Link-Vorschau-Schnittstellen. - Implementieren Sie die zugehörigen Callback-Funktionen, die erforderlich sind, um auf die UI-Interaktionen des Nutzers zu reagieren, z. B. auf Schaltflächenklicks.
Editor-Startseiten
Sie müssen in Ihrem Add-on-Skriptprojekt eine Homepage-Triggerfunktion bereitstellen, die ein einzelnes Card
-Objekt oder ein Array von Card
-Objekten erstellt und zurückgibt, aus denen die Homepage des Add-ons besteht.
An die Homepage-Triggerfunktion wird ein Ereignisobjekt als Parameter übergeben, das Informationen wie die Plattform des Clients enthält. Sie können die Daten des Ereignisobjekts verwenden, um die Erstellung der Startseite anzupassen.
Sie können eine gemeinsame Startseite oder eine Startseite präsentieren, die spezifisch für den Editor ist, in dem der Nutzer Ihr Add-on öffnet.
Gemeinsame Startseite anzeigen
Wenn Sie die allgemeine Startseite Ihres Add-ons in den Editoren anzeigen möchten, müssen Sie die entsprechenden Editorfelder wie addOns.docs
, addOns.sheets
oder addOns.slides
in das Manifest des Add-ons aufnehmen.
Das folgende Beispiel zeigt den addons
-Teil eines Google Workspace-Add-on-Manifests. Das Add-on erweitert Docs, Sheets und Präsentationen und zeigt die gemeinsame Startseite in jeder Host-App an.
"addOns": { "common": { "name": "Translate", "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png", "layoutProperties": { "primaryColor": "#2772ed" }, "homepageTrigger": { "runFunction": "onHomepage" } }, "docs": {}, "sheets": {}, "slides": {} } }
Editor-spezifische Startseite anzeigen
Wenn Sie eine Startseite für einen bestimmten Editor präsentieren möchten, fügen Sie dem Add-on-Manifest EDITOR_NAME.homepageTrigger
hinzu.
Das folgende Beispiel zeigt den addons
-Teil eines Google Workspace-Add‑on-Manifests. Das Add-on ist für Google Docs, Google Sheets und Google Präsentationen aktiviert. In Docs und Präsentationen wird die gemeinsame Startseite angezeigt, in Sheets eine eigene Startseite. Die Callback-Funktion onSheetsHomepage
erstellt die Sheets-spezifische Startseitenkarte.
"addOns": { "common": { "name": "Translate", "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png", "layoutProperties": { "primaryColor": "#2772ed" }, "homepageTrigger": { "runFunction": "onHomepage" } }, "docs": {}, "slides": {}, "sheets": { "homepageTrigger": { "runFunction": "onSheetsHomepage" }, } }
REST API-Schnittstellen
Wenn Ihr Add-on REST APIs wie die Google Sheets API verwendet, können Sie mit der Funktion onFileScopeGrantedTrigger
eine neue Benutzeroberfläche anzeigen, die speziell für die Datei ist, die in der Editor-Hostanwendung geöffnet ist.
Sie müssen den Autorisierungsablauf für den drive.file
-Bereich einbinden, um die Funktion onFileScopeGrantedTrigger
verwenden zu können. Informationen zum Anfordern des Bereichs drive.file
finden Sie unter Dateizugriff für aktuelles Dokument anfordern.
Wenn ein Nutzer den Bereich drive.file
gewährt, wird EDITOR_NAME.onFileScopeGrantedTrigger.runFunction
ausgelöst. Wenn der Trigger ausgelöst wird, wird die kontextbezogene Triggerfunktion ausgeführt, die im Add-on-Manifest durch das Feld EDITOR_NAME.onFileScopeGrantedTrigger.runFunction
angegeben wird.
So erstellen Sie eine REST API-Schnittstelle für einen der Editoren: Ersetzen Sie EDITOR_NAME
durch die Editor-Host-App, die Sie verwenden möchten, z. B. sheets.onFileScopeGrantedTrigger
.
- Fügen Sie
EDITOR_NAME.onFileScopeGrantedTrigger
im entsprechenden Editorabschnitt Ihres Manifests ein. Wenn Sie diese Schnittstelle beispielsweise in Google Sheets erstellen möchten, fügen Sie den Trigger dem Abschnitt"sheets"
hinzu. - Implementieren Sie die Funktion, die im Abschnitt
EDITOR_NAME.onFileScopeGrantedTrigger
genannt wird. Diese Funktion akzeptiert ein Ereignisobjekt als Argument und muss entweder ein einzelnesCard
-Objekt oder ein Array vonCard
-Objekten zurückgeben. - Wie bei jeder Karte müssen Sie die Callback-Funktionen implementieren, die verwendet werden, um die Widget-Interaktivität für die Benutzeroberfläche bereitzustellen. Wenn Sie beispielsweise eine Schaltfläche in die Benutzeroberfläche einfügen, sollte sie eine zugehörige Aktion und eine implementierte Callback-Funktion haben, die ausgeführt wird, wenn auf die Schaltfläche geklickt wird.
Das folgende Beispiel zeigt den addons
-Teil eines Google Workspace-Add‑on-Manifests. Das Add-on verwendet REST APIs, daher ist onFileScopeGrantedTrigger
für Google Tabellen enthalten. Wenn ein Nutzer den Bereich drive.file
gewährt, erstellt die Callback-Funktion onFileScopeGrantedSheets
eine dateispezifische Benutzeroberfläche.
"addOns": { "common": { "name": "Productivity add-on", "logoUrl": "https://www.gstatic.com/images/icons/material/system_gm/1x/work_outline_black_18dp.png", "layoutProperties": { "primaryColor": "#669df6", "secondaryColor": "#ee675c" } }, "sheets": { "homepageTrigger": { "runFunction": "onEditorsHomepage" }, "onFileScopeGrantedTrigger": { "runFunction": "onFileScopeGrantedSheets" } }
Schnittstellen für Linkvorschauen für Drittanbieterdienste
Wenn Sie die Linkvorschau für einen Drittanbieterdienst aktivieren möchten, müssen Sie die Linkvorschau im Manifest Ihres Add-ons konfigurieren und eine Funktion erstellen, die eine Vorschaukarte zurückgibt. Bei Diensten, die eine Nutzerautorisierung erfordern, muss Ihre Funktion auch den Autorisierungsablauf aufrufen.
Eine Anleitung zum Aktivieren der Linkvorschau finden Sie unter Vorschaulinks mit Smartchips.
Ereignisobjekte
Ein Ereignisobjekt wird erstellt und an Triggerfunktionen wie EDITOR_NAME.homepageTrigger
oder EDITOR_NAME.onFileScopeGrantedTrigger
übergeben. Die Triggerfunktion verwendet die Informationen im Ereignisobjekt, um zu bestimmen, wie Add-on-Karten erstellt oder das Add-on-Verhalten gesteuert werden soll.
Die vollständige Struktur von Ereignisobjekten wird unter Ereignisobjekte beschrieben.
Wenn ein Editor die aktive Hostanwendung des Add-ons ist, enthalten die Ereignisobjekte die Felder des Ereignisobjekts Docs, Sheets oder Slides, die Clientinformationen enthalten.
Wenn das Add-on für den aktuellen Nutzer oder das aktuelle Dokument keine Autorisierung für den Bereich drive.file
hat, enthält das Ereignisobjekt nur das Feld docs.addonHasFileScopePermission
, sheets.addonHasFileScopePermission
oder slides.addonHasFileScopePermission
. Wenn das Add-on autorisiert ist, enthält das Ereignisobjekt alle Felder des Editor-Ereignisobjekts.
Das folgende Beispiel zeigt ein Editor-Ereignisobjekt, das an eine sheets.onFileScopeGrantedTrigger
-Funktion übergeben wird. Hier hat das Add-on die drive.file
-Bereichsautorisierung für das aktuelle Dokument:
` { "commonEventObject": { ... }, "sheets": { "addonHasFileScopePermission": true, "id":"A_24Q3CDA23112312ED52", "title":"How to get started with Sheets" }, ... }