Office-Add-Ins mit dem einheitlichen App-Manifest für Microsoft 365
In diesem Artikel wird das einheitliche App-Manifest für Microsoft 365 vorgestellt. Es wird davon ausgegangen, dass Sie mit dem Office-Add-Ins-Manifest vertraut sind.
Tipp
- Eine Übersicht über das reine Add-In-Manifest finden Sie unter Office-Add-Ins mit dem reinen Add-In-Manifest.
- Wenn Sie mit dem reinen Add-In-Manifest vertraut sind, können Sie das JSON-formatierte einheitliche Manifest leichter verstehen, indem Sie Vergleichen des reinen Add-In-Manifests mit dem einheitlichen Manifest für Microsoft 365 lesen.
Microsoft nimmt eine Reihe von Verbesserungen an der Microsoft 365 Entwicklerplattform vor. Diese Verbesserungen bieten mehr Konsistenz bei der Entwicklung, Bereitstellung, Installation und Verwaltung aller Arten von Erweiterungen von Microsoft 365, einschließlich Office-Add-Ins. Diese Änderungen sind mit vorhandenen Add-Ins kompatibel.
Eine wichtige Verbesserung ist die Möglichkeit, eine einzelne Verteilungseinheit für alle Microsoft 365-Erweiterungen mithilfe desselben Manifestformats und Schemas zu erstellen.
Wir haben einen wichtigen ersten Schritt auf dem Weg zu diesen Zielen gemacht, indem wir Es Ihnen ermöglicht haben, Outlook-Add-Ins mit einem einheitlichen Manifest für Microsoft 365 zu erstellen.
Hinweis
- Das einheitliche Manifest unterstützt derzeit nur Outlook-Add-Ins und nur in Office, die mit einem Microsoft 365-Abonnement verknüpft sind und unter Windows, auf einem mobilen Gerät oder in Outlook im Web installiert sind. Wir arbeiten daran, die Unterstützung auf Excel, PowerPoint und Word sowie auf Outlook auf Mac und unbefristete Versionen von Office zu erweitern.
- Das einheitliche Manifest erfordert Office Version 2304 (Build 16320.00000) oder höher.
Tipp
Sind Sie bereit für die ersten Schritte mit dem einheitlichen Manifest? Beginnen Sie mit Erstellen eines Outlook-Add-Ins mit dem einheitlichen Manifest für Microsoft 365.
Wichtige Eigenschaften des einheitlichen Manifests
Die Standard Referenzdokumentation für die Version des einheitlichen App-Manifests finden Sie unter Einheitliche Manifestreferenz. (Die Manifestreferenz, die alle neuesten Vorschaufeatures enthält, finden Sie unter Öffentliche Entwicklervorschau für das einheitliche Manifest.) In diesem Artikel finden Sie eine kurze Beschreibung der Bedeutung von Basiseigenschaften, wenn die Teams-App ein Office-Add-In ist (oder enthält). Es folgt eine grundlegende Dokumentation für die Eigenschaft "extensions" und deren Nachfolgereigenschaften. Ein vollständiges Beispielmanifest für ein Add-In finden Sie unter Einheitliches Beispielmanifest.
Basiseigenschaften
Jede der in der folgenden Tabelle aufgeführten Basiseigenschaften enthält eine ausführlichere Dokumentation unter Manifestschema. Basiseigenschaften, die nicht in dieser Tabelle enthalten sind, haben für Office-Add-Ins keine Bedeutung.
JSON-Eigenschaft | Zweck |
---|---|
"$schema" | Identifiziert das Manifestschema. |
"manifestVersion" | Version des Manifestschemas. |
"id" | GUID der Teams-App/-Add-Ins. |
"version" | Version der Teams-App/-Add-Ins. Das Format muss sein n.n.n , in dem jede n nicht mehr als fünf Ziffern sein darf. |
"name" | Öffentliche kurze und lange Namen der Teams-App/-Add-Ins. Der Kurzname wird oben im Aufgabenbereich eines Add-Ins angezeigt. |
"description" | Öffentliche kurze und lange Beschreibungen der Teams-App/-Add-Ins. |
„developer“ | Informationen zum Entwickler der Teams-App/-Add-Ins. |
"localizationInfo" | Konfiguriert das Standardgebietsschema und andere unterstützte Gebietsschemas. |
"validDomains" | Weitere Informationen finden Sie unter Angeben sicherer Domänen. |
"webApplicationInfo" | Identifiziert die Web-App der Teams-App bzw. des Add-Ins, wie sie in Azure Active Directory bekannt ist. |
"authorization" | Identifiziert alle Microsoft Graph Berechtigungen, die das Add-In benötigt. |
Eigenschaft "extensions"
Wir arbeiten intensiv daran, die Referenzdokumentation für die Eigenschaft "extensions" und ihre nachfolgerfähigen Eigenschaften zu vervollständigen. In der Zwischenzeit finden Sie im Folgenden einige grundlegende Dokumentationen. Die meisten, aber nicht alle Eigenschaften verfügen über ein entsprechendes Element (oder Attribut) im Add-In-Manifest nur für Add-Ins. In den meisten Fällen gelten die Beschreibung und Einschränkungen, die für das XML-Element oder -Attribut gelten, auch für dessen JSON-Eigenschaftsäquivalent im einheitlichen Manifest. Die Tabellen im Abschnitt "extensions"-Eigenschaft des Vergleichs des reinen Add-In-Manifests mit dem einheitlichen Manifest für Microsoft 365 können Ihnen helfen, das XML-Äquivalent einer JSON-Eigenschaft zu bestimmen.
Hinweis
Diese Tabelle enthält nur einige ausgewählte repräsentative Nachfolgereigenschaften von "Extensions". Es handelt sich nicht um eine vollständige Liste aller untergeordneten Eigenschaften von "Erweiterungen". Eine vollständige Referenz zum einheitlichen Manifest finden Sie unter Einheitliches Manifest für Microsoft 365. Die Manifestreferenz, die alle neuesten Vorschaufeatures enthält, finden Sie unter Öffentliche Entwicklervorschau für das einheitliche Manifest für Microsoft 365.
JSON-Eigenschaft | Zweck |
---|---|
"requirements.capabilities" | Gibt die Anforderungssätze an , die das Add-In installieren können muss. |
"requirements.scopes" | Identifiziert die Office-Anwendungen, in denen das Add-In installiert werden kann. Beispielsweise bedeutet "mail", dass das Add-In in Outlook installiert werden kann. |
"Menübänder" | Die Menübänder, die das Add-In anpassen. |
"ribbons.contexts" | Gibt die Befehlsoberflächen an, die das Add-In anpasst. Beispiel: "mailRead" oder "mailCompose". |
"ribbons.fixedControls" (Entwicklervorschau) | Konfiguriert die Schaltfläche eines integrierten Add-Ins für die Spamberichterstattung und fügt sie dem Outlook-Menüband hinzu. |
"ribbons.spamPreProcessingDialog" (Entwicklervorschau) | Konfiguriert das Vorverarbeitungsdialogfeld, das angezeigt wird, nachdem die Schaltfläche eines Add-Ins für die Spamberichterstattung im Outlook-Menüband ausgewählt wurde. |
"ribbons.tabs" | Konfiguriert benutzerdefinierte Menübandregisterkarten. |
"Alternates" | Gibt Die Abwärtskompatibilität mit einem entsprechenden COM-Add-In, XLL oder beidem an. Gibt auch die Standard Symbole an, die verwendet werden, um das Add-In in älteren Versionen von Office darzustellen. |
"runtimes" | Konfiguriert die eingebetteten Runtimes , die das Add-In verwendet, einschließlich verschiedener Arten von Add-Ins, die wenig oder keine Benutzeroberfläche haben, z. B. benutzerdefinierte Add-Ins, die nur funktionen und Funktionsbefehle verwenden. |
"autoRunEvents" | Konfiguriert einen Ereignishandler für ein angegebenes Ereignis. |
Angeben sicherer Domänen
Die Manifestdatei enthält ein "validDomains"-Array, das Verwendet wird, um Office mitzuteilen, zu welchen Domänen Ihr Add-In navigieren darf. Wie unter Angeben von Domänen angegeben, die Sie im Add-In-Fenster öffnen möchten, kann Ihr Aufgabenbereich bei der Ausführung in Office im Web zu einer beliebigen URL navigiert werden. Wenn Ihr Add-In auf Desktopplattformen jedoch versucht, zu einer URL in einer anderen Domäne als der Domäne zu wechseln, in der die Startseite gehostet wird, wird diese URL in einem neuen Browserfenster außerhalb des Add-In-Bereichs der Office-Anwendung geöffnet.
Um dieses Verhalten auf Desktopplattformen außer Kraft zu setzen, fügen Sie jede Domäne, die Sie im Add-In-Fenster öffnen möchten, der Liste der Domänen hinzu, die im Array "validDomains" angegeben sind. Wenn das Add-In versucht, zu einer URL in einer Domäne zu wechseln, die in der Liste enthalten ist, wird sie in Office im Web und Desktop-Office im Aufgabenbereich geöffnet. Wenn versucht wird, zu einer URL zu wechseln, die nicht in der Liste enthalten ist, wird diese URL in Office auf dem Desktop in einem neuen Browserfenster (außerhalb des Add-In-Aufgabenbereichs) geöffnet.
Beispiel für ein einheitliches Manifest
Es folgt ein Beispiel für ein einheitliches App-Manifest für ein Add-In. Es enthält nicht jede mögliche Manifesteigenschaft.
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json",
"id": "00000000-0000-0000-0000-000000000000",
"version": "1.0.0",
"manifestVersion": "devPreview",
"name": {
"short": "Name of your app (<=30 chars)",
"full": "Full name of app, if longer than 30 characters (<=100 chars)"
},
"description": {
"short": "Short description of your app (<= 80 chars)",
"full": "Full description of your app (<= 4000 chars)"
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#230201",
"developer": {
"name": "Contoso",
"websiteUrl": "https://www.contoso.com",
"privacyUrl": "https://www.contoso.com/privacy",
"termsOfUseUrl": "https://www.contoso.com/servicesagreement"
},
"localizationInfo": {
"defaultLanguageTag": "en-us",
"additionalLanguages": [
{
"languageTag": "es-es",
"file": "es-es.json"
}
]
},
"webApplicationInfo": {
"id": "00000000-0000-0000-0000-000000000000",
"resource": "api://www.contoso.com/prodapp"
},
"authorization": {
"permissions": {
"resourceSpecific": [
{
"name": "Mailbox.ReadWrite.User",
"type": "Delegated"
}
]
}
},
"extensions": [
{
"requirements": {
"scopes": [ "mail" ],
"capabilities": [
{
"name": "Mailbox", "minVersion": "1.1"
}
]
},
"runtimes": [
{
"requirements": {
"capabilities": [
{
"name": "MailBox",
"minVersion": "1.10"
}
]
},
"id": "eventsRuntime",
"type": "general",
"code": {
"page": "https://contoso.com/events.html",
"script": "https://contoso.com/events.js"
},
"lifetime": "short",
"actions": [
{
"id": "onMessageSending",
"type": "executeFunction"
},
{
"id": "onNewMessageComposeCreated",
"type": "executeFunction"
}
]
},
{
"requirements": {
"capabilities": [
{
"name": "MailBox", "minVersion": "1.1"
}
]
},
"id": "commandsRuntime",
"type": "general",
"code": {
"page": "https://contoso.com/commands.html",
"script": "https://contoso.com/commands.js"
},
"lifetime": "short",
"actions": [
{
"id": "action1",
"type": "executeFunction"
},
{
"id": "action2",
"type": "executeFunction"
},
{
"id": "action3",
"type": "executeFunction"
}
]
}
],
"ribbons": [
{
"contexts": [
"mailCompose"
],
"tabs": [
{
"builtInTabId": "TabDefault",
"groups": [
{
"id": "dashboard",
"label": "Controls",
"controls": [
{
"id": "control1",
"type": "button",
"label": "Action 1",
"icons": [
{
"size": 16,
"url": "test_16.png"
},
{
"size": 32,
"url": "test_32.png"
},
{
"size": 80,
"url": "test_80.png"
}
],
"supertip": {
"title": "Action 1 Title",
"description": "Action 1 Description"
},
"actionId": "action1"
},
{
"id": "menu1",
"type": "menu",
"label": "My Menu",
"icons": [
{
"size": 16,
"url": "test_16.png"
},
{
"size": 32,
"url": "test_32.png"
},
{
"size": 80,
"url": "test_80.png"
}
],
"supertip": {
"title": "My Menu",
"description": "Menu with 2 actions"
},
"items": [
{
"id": "menuItem1",
"type": "menuItem",
"label": "Action 2",
"supertip": {
"title": "Action 2 Title",
"description": "Action 2 Description"
},
"actionId": "action2"
},
{
"id": "menuItem2",
"type": "menuItem",
"label": "Action 3",
"icons": [
{
"size": 16,
"url": "test_16.png"
},
{
"size": 32,
"url": "test_32.png"
},
{
"size": 80,
"url": "test_80.png"
}
],
"supertip": {
"title": "Action 3 Title",
"description": "Action 3 Description"
},
"actionId": "action3"
}
]
}
]
}
],
}
]
},
{
"contexts": [ "mailRead" ],
"tabs": [
{
"builtInTabId": "TabDefault",
"groups": [
{
"id": "dashboard",
"label": "Controls",
"controls": [
{
"id": "control1",
"type": "button",
"label": "Action 1",
"icons": [
{
"size": 16,
"url": "test_16.png"
},
{
"size": 32,
"url": "test_32.png"
},
{
"size": 80,
"url": "test_80.png"
}
],
"supertip": {
"title": "Action 1 Title",
"description": "Action 1 Description"
},
"actionId": "action1"
}
]
}
],
"customMobileRibbonGroups" [
{
"id": "myMobileGroup",
"label": "Contoso Actions",
"controls": [
{
"id": "msgReadFunctionButton",
"type": "mobileButton",
"label": "Action 1",
"icons": [
{
"size": 16,
"url": "test_16.png"
},
{
"size": 32,
"url": "test_32.png"
},
{
"size": 80,
"url": "test_80.png"
}
],
"supertip": {
"title": "Action 1 Title",
"description": "Action 1 Description"
},
"actionId": "action1"
}
]
}
]
"customMobileRibbonGroups": [
{
"id": "mobileDashboard",
"label": "Controls",
"controls": [
{
"id": "control1",
"type": "mobileButton",
"label": "Action 1",
"icons": [
{
"size": 16,
"url": "test_16.png"
},
{
"size": 32,
"url": "test_32.png"
},
{
"size": 80,
"url": "test_80.png"
}
],
"supertip": {
"title": "Action 1 Title",
"description": "Action 1 Description"
},
"actionId": "action1"
}
]
}
]
}
]
}
],
"autoRunEvents": [
{
"requirements": {
"capabilities": [
{
"name": "MailBox", "minVersion": "1.10"
}
]
},
"events": [
{
"type": "newMessageComposeCreated",
"actionId": "onNewMessageComposeCreated"
},
{
"type": "messageSending",
"actionId": "onMessageSending",
"options": {
"sendMode": "promptUser"
}
}
]
}
],
"alternates": [
{
"requirements": {
"scopes": [ "mail" ]
},
"prefer": {
"comAddin": {
"progId": "ContosoExtension"
}
},
"hide": {
"storeOfficeAddin": {
"officeAddinId": "00000000-0000-0000-0000-000000000000",
"assetId": "WA000000000"
}
},
"alternateIcons": {
"icon": {
"size": 64,
"url": "https://contoso.com/assets/icon64x64.jpg"
},
"highResolutionIcon": {
"size": 64,
"url": "https://contoso.com/assets/icon128x128.jpg"
}
}
}
]
}
]
}
Siehe auch
Office Add-ins