Freigeben über


App-Manifest

Das App-Manifest (zuvor als Teams-App-Manifest bezeichnet) beschreibt, wie Ihre App in das Microsoft Teams-Produkt integriert wird. Ihr App-Manifest muss dem Schema entsprechen, das auf https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.jsongehostet wird. Frühere Versionen 1.0, 1.1,...,1.17 und die aktuelle Version 1.19 werden jeweils unterstützt (mit "v1.x" in der URL). Version 1.18 ist nicht verfügbar. Weitere Informationen zu den Änderungen, die in den einzelnen Versionen vorgenommen wurden, finden Sie im Änderungsprotokoll des App-Manifests und für frühere Versionen unter App-Manifestversionen.

In der folgenden Tabelle sind die TeamsJS-Version und die Versionen der App-Manifeste für die verschiedenen App-Szenarien aufgeführt:

App-Typ TeamsJS-Version App-Manifestversion Nächste Schritte
Teams-Apps, die in Outlook und Microsoft 365 erweitert wurden TeamsJS v.2.19.0 oder höher v.1.13 oder höher Erweitern von Teams-Apps auf Microsoft 365 oder Erstellen einer neuen Microsoft 365-App
Vorhandene reine Teams-Apps Nach Möglichkeit auf TeamsJS v.2.19.0 aktualisieren (v.1.12 wird weiterhin unterstützt*) 1.12 Grundlegendes zur Abwärtskompatibilität von TeamsJS und Update auf TeamsJS v.2.0
Neue reine Teams-Apps TeamsJS v.2.19.0 oder höher 1.12 Erstellen einer neuen Teams-App mit Teams Toolkit

* Verwenden Sie nach Möglichkeit die neueste Version von TeamsJS (v.2.19.0 oder höher), um die neuesten Verbesserungen und die Unterstützung neuer Features zu nutzen, einschließlich Nur-Teams-Apps. TeamsJS v.1.12 wird weiterhin unterstützt, es werden jedoch keine neuen Features oder Verbesserungen hinzugefügt. Die Schemas 1.12 und 1.13 sind ansonsten identisch. Weitere Informationen finden Sie unter TeamsJS-Bibliothek.

Hinweis

Wenn Ihre Teams-App die App-Manifestversion 1.13 oder höher verwendet, stellen Sie sicher, dass Ihre App die Kriterien zum Erweitern Ihrer App für die Ausführung in Microsoft 365 oder Outlook erfüllt.

Es folgt das Beispiel für das App-Manifestschema:

Beispiel-App-Manifest

{
    "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.json",
    "manifestVersion": "1.19",
    "version": "1.0.0",
    "id": "%MICROSOFT-APP-ID%",
    "localizationInfo": {
        "defaultLanguageTag": "en",
        "defaultLanguageFile": "en.json",
        "additionalLanguages": [
            {
                "languageTag": "es",
                "file": "es.json"
            }
        ]
    },
    "developer": {
        "name": "Publisher Name",
        "websiteUrl": "https://example.com/",
        "privacyUrl": "https://example.com/privacy",
        "termsOfUseUrl": "https://example.com/app-tos",
        "mpnId": "1234567890"
    },
    "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": "A relative path to a transparent .png icon — 32px X 32px",
        "color": "A relative path to a full color .png icon — 192px X 192px"
    },
    "accentColor": "A valid HTML color code.",
    "copilotAgents": {
        "declarativeAgents": [
            {
                "id": "agent1",
                "file": "declarativeAgent1.json"
            }
        ]
    },
    "configurableTabs": [
        {
            "configurationUrl": "https://contoso.com/teamstab/configure",
            "scopes": [
                "team",
                "groupChat"
            ],
            "canUpdateConfiguration": true,
            "context": [
                "channelTab",
                "privateChatTab",
                "meetingChatTab",
                "meetingDetailsTab",
                "meetingSidePanel",
                "meetingStage"
            ],
            "sharePointPreviewImage": "Relative path to a tab preview image for use in SharePoint — 1024px X 768",
            "supportedSharePointHosts": [
                "sharePointFullPage",
                "sharePointWebPart"
            ]
        }
    ],
    "staticTabs": [
        {
            "entityId": "unique Id for the page entity",
            "scopes": [
                "personal"
            ],
            "context": [
                "personalTab",
                "channelTab"
            ],
            "name": "Display name of tab",
            "contentUrl": "https://contoso.com/content (displayed in Teams canvas)",
            "websiteUrl": "https://contoso.com/content (displayed in web browser)",
            "searchUrl": "https://contoso.com/content (displayed in web browser)"
        }
    ],
    "supportedChannelTypes": [
        "sharedChannels",
        "privateChannels"
    ],
    "bots": [
        {
            "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
            "scopes": [
                "team",
                "personal",
                "groupChat"
            ],
            "needsChannelSelector": false,
            "isNotificationOnly": false,
            "supportsFiles": true,
            "supportsCalling": false,
            "supportsVideo": true,
            "commandLists": [
                {
                    "scopes": [
                        "team",
                        "groupChat"
                    ],
                    "commands": [
                        {
                            "title": "Command 1",
                            "description": "Description of Command 1"
                        },
                        {
                            "title": "Command 2",
                            "description": "Description of Command 2"
                        }
                    ]
                },
                {
                    "scopes": [
                        "personal",
                        "groupChat"
                    ],
                    "commands": [
                        {
                            "title": "Personal command 1",
                            "description": "Description of Personal command 1"
                        },
                        {
                            "title": "Personal command N",
                            "description": "Description of Personal command N"
                        }
                    ]
                }
            ]
        }
    ],
    "connectors": [
        {
            "connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL%",
            "scopes": [
                "team"
            ],
            "configurationUrl": "https://contoso.com/teamsconnector/configure"
        }
    ],
    "composeExtensions": [
        {
            "canUpdateConfiguration": true,
            "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
            "commands": [
                {
                    "id": "exampleCmd1",
                    "title": "Example Command",
                    "type": "query",
                    "context": [
                        "compose",
                        "commandBox"
                    ],
                    "description": "Command Description; e.g., Search on the web",
                    "initialRun": true,
                    "fetchTask": false,
                    "parameters": [
                        {
                            "name": "keyword",
                            "title": "Search keywords",
                            "inputType": "choiceset",
                            "description": "Enter the keywords to search for",
                            "value": "Initial value for the parameter",
                            "choices": [
                                {
                                    "title": "Title of the choice",
                                    "value": "Value of the choice"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "exampleCmd2",
                    "title": "Example Command 2",
                    "type": "action",
                    "context": [
                        "message"
                    ],
                    "description": "Command Description; e.g., Add a customer",
                    "initialRun": true,
                    "fetchTask": false ,
                    "parameters": [
                        {
                            "name": "custinfo",
                            "title": "Customer name",
                            "description": "Enter a customer name",
                            "inputType": "text"
                        }
                    ]
                },
                {
                    "id": "exampleCmd3",
                    "title": "Example Command 3",
                    "type": "action",
                    "context": [
                        "compose",
                        "commandBox",
                        "message"
                    ],
                    "description": "Command Description; e.g., Add a customer",
                    "fetchTask": false,
                    "taskInfo": {
                        "title": "Initial dialog title",
                        "width": "Dialog width",
                        "height": "Dialog height",
                        "url": "Initial webview URL"
                    }
                }
            ],
            "messageHandlers": [
                {
                    "type": "link",
                    "value": {
                        "domains": [
                            "mysite.someplace.com",
                            "othersite.someplace.com"
                        ],
                        "supportsAnonymizedPayloads": false
                    }
                }
            ]
        }
    ],
    "permissions": [
        "identity",
        "messageTeamMembers"
    ],
    "devicePermissions": [
        "geolocation",
        "media",
        "notifications",
        "midi",
        "openExternal"
    ],
    "validDomains": [
        "contoso.com",
        "mysite.someplace.com",
        "othersite.someplace.com"
    ],
    "webApplicationInfo": {
        "id": "AAD App ID",
        "resource": "Resource URL for acquiring auth token for SSO"
    },
    "authorization": {
        "permissions": {
            "resourceSpecific": [
                {
                    "type": "Application",
                    "name": "ChannelSettings.Read.Group"
                },
                {
                    "type": "Delegated",
                    "name": "ChannelMeetingParticipant.Read.Group"
                }
            ]
        }
    },
    "showLoadingIndicator": false,
    "isFullScreen": false,
    "activities": {
        "activityTypes": [
            {
                "type": "taskCreated",
                "description": "Task created activity",
                "templateText": "<team member> created task <taskId> for you"
            },
            {
                "type": "userMention",
                "description": "Personal mention activity",
                "templateText": "<team member> mentioned you"
            }
        ]
    },
    "defaultBlockUntilAdminAction": true,
    "publisherDocsUrl": "https://example.com/app-info",
    "defaultInstallScope": "meetings",
    "defaultGroupCapability": {
        "meetings": "tab",
        "team": "bot",
        "groupchat": "bot"
    },
    "configurableProperties": [
        "name",
        "shortDescription",
        "longDescription",
        "smallImageUrl",
        "largeImageUrl",
        "accentColor",
        "developerUrl",
        "privacyUrl",
        "termsOfUseUrl"
    ],
    "subscriptionOffer": {
        "offerId": "publisherId.offerId"
    },
    "meetingExtensionDefinition": {
        "scenes": [
            {
                "id": "9082c811-7e6a-4174-8173-6ccd57d377e6",
                "name": "Getting started sample",
                "file": "scenes/sceneMetadata.json",
                "preview": "scenes/scenePreview.png",
                "maxAudience": 15,
                "seatsReservedForOrganizersOrPresenters": 0
            },
            {
                "id": "afeaed22-f89b-48e1-98b4-46a514344e4a",
                "name": "Sample-1",
                "file": "scenes/sceneMetadata.json",
                "preview": "scenes/scenePreview.png",
                "maxAudience": 15,
                "seatsReservedForOrganizersOrPresenters": 3
            }
        ]
    }
}

Das Schema definiert die folgenden Eigenschaften:

$schema

Optional, aber empfohlen– Zeichenfolge

Die https:// URL, die auf das JSON-Schema für das App-Manifest verweist.

manifestVersion

Erforderlich – Zeichenfolge

Die Version des App-Manifestschemas, das dieses Manifest verwendet. Verwenden Sie , um die Unterstützung von Teams-Apps in Outlook und Microsoft 365-Apps zu aktivieren. Verwenden Sie 1.131.12 (oder früher) für reine Teams-Apps.

Version

Erforderlich – Zeichenfolge

Die Version einer bestimmten App. Wenn Sie etwas in Ihrem App-Manifest aktualisieren, muss auch die Version erhöht werden. Auf diese Weise überschreibt das neue App-Manifest bei der Installation das vorhandene Manifest, und der Benutzer erhält die neue Funktionalität. Wenn diese App an den Microsoft Teams Store übermittelt wurde, muss das neue App-Manifest erneut übermittelt und erneut überprüft werden. Die App-Benutzer erhalten das neue aktualisierte App-Manifest automatisch innerhalb weniger Stunden nach der Genehmigung des App-Manifests.

Wenn sich die App-Berechtigungsanforderungen ändern, werden die Benutzer aufgefordert, ein Upgrade durchzuführen und der App erneut die Berechtigungen zu erteilen.

Diese Versionszeichenfolge muss dem SemVer-Standard entsprechen (MAJOR.MINOR.PATCH).

Hinweis

Wenn Ihre App ein Office-Add-In enthält, ist jedes Segment der Versionszeichenfolge auf maximal fünf Ziffern beschränkt. Die Zeichenfolgenerweiterungen der Semver-Vorabversion und der Metadatenversion des Semver-Standards werden nicht unterstützt.

ID

Erforderlich : Microsoft-App-ID

Die ID ist ein eindeutiger, von Microsoft generierter Bezeichner für die App. Das Format der ID ist GUID. Sie verfügen über eine ID, wenn Ihr Bot über das Microsoft Bot Framework registriert ist. Sie verfügen über eine ID, wenn sich die Web-App Ihrer Registerkarte bereits bei Microsoft anmeldet. Sie müssen die ID hier eingeben. Andernfalls müssen Sie eine neue ID im Microsoft-Anwendungsregistrierungsportal generieren. Verwenden Sie die gleiche ID, wenn Sie einen Bot hinzufügen.

Die in Teams Admin Center gespeicherte ID ist die externe App-ID und in den Ablaufverfolgungen als ExternalID sichtbar.

Hinweis

Wenn Sie ein Update an Ihre vorhandene App in AppSource übermitteln, darf die ID in Ihrem App-Manifest nicht geändert werden.

developer

Erforderlich – Objekt

Gibt Informationen zu Ihrem Unternehmen an. Für Apps, die an den Teams Store übermittelt werden, müssen diese Werte mit den Informationen in Ihrem Teams Store-Eintrag übereinstimmen. Weitere Informationen finden Sie in den Teams Store-Veröffentlichungsrichtlinien. Der Name des Entwicklers trägt dazu bei, die Auffindbarkeit Ihrer App im Teams Store zu verbessern.

Name Typ Maximale Größe Erforderlich Beschreibung
name Zeichenfolge 32 Zeichen ✔️ Der Anzeigename für den Entwickler.
websiteUrl Zeichenfolge 2048 Zeichen ✔️ Die https://-URL zur Website des Entwicklers. Dieser Link muss Benutzer zur Landing Page Ihres Unternehmens oder des produktspezifischen Angebots führen.
privacyUrl Zeichenfolge 2048 Zeichen ✔️ Die https://-URL zur Datenschutzerklärung des Entwicklers.
termsOfUseUrl Zeichenfolge 2048 Zeichen ✔️ Die https://-URL zu den Nutzungsbedingungen des Entwicklers.
mpnId String 10 Zeichen Wahlfrei Die Microsoft Cloud Partner Program-ID (früher als Microsoft Partner Network (MPN)-ID bezeichnet), die den Partner identifiziert, organization die App erstellen.

name

Erforderlich – Objekt

Der Name Ihrer App-Lösung, der Benutzern in der Microsoft Teams-Umgebung angezeigt wird. Für Apps, die an AppSource übermittelt werden, müssen diese Werte mit den Informationen in Ihrem AppSource-Eintrag übereinstimmen. Die Werte von short und full müssen unterschiedlich sein. Der App-Name trägt dazu bei, die Auffindbarkeit Ihrer App im Teams Store zu verbessern.

Name Typ Maximale Größe Erforderlich Beschreibung
short Zeichenfolge 30 Zeichen ✔️ Der Kurzanzeigename für die App. Verwenden Sie short die -Eigenschaft, wenn der Speicherplatz begrenzt ist, z. B. den App-Header.
full Zeichenfolge 100 Zeichen ✔️ Der vollständige Name der App; wird verwendet, wenn der vollständige App-Name 30 Zeichen überschreitet. Verwenden Sie full die -Eigenschaft, wenn mehr Platz vorhanden ist, z. B. im App-Katalog oder auf der Seite mit den App-Details.

Hinweis

  • Im App-Manifest v1.17 oder höher ist die full Eigenschaft erforderlich, und für App-Manifest v1.16 oder früher ist sie nicht erforderlich.
  • Die short -Eigenschaft wird auf allen Ui-Oberflächen verwendet.

description

Erforderlich – Objekt

Beschreibt Ihre App für Benutzer. Für Apps, die an AppSource übermittelt werden, müssen diese Werte mit den Informationen in Ihrem AppSource-Eintrag übereinstimmen. Die App-Beschreibung trägt dazu bei, die Auffindbarkeit Ihrer App im Teams Store zu verbessern.

Stellen Sie sicher, dass Ihre Beschreibung Ihre Lösung beschreibt und potenziellen Kunden hilft zu verstehen, worin ihre Funktion besteht. Sie müssen in der vollständigen Beschreibung angeben, ob ein externes Konto für die Verwendung der App erforderlich ist. Die Werte von short und full müssen unterschiedlich sein. Ihre kurze Beschreibung kann nicht innerhalb der langen Beschreibung wiederholt werden und darf keinen anderen App-Namen enthalten.

Name Typ Maximale Größe Erforderlich Beschreibung
short String 80 Zeichen ✔️ Eine kurze Beschreibung der App; wird verwendet, wenn der Platz begrenzt ist.
full String 4.000 Zeichen ✔️ Die vollständige Beschreibung Ihrer App.

localizationInfo

Optional – Objekt

Ermöglicht die Angabe einer Standardsprache und Zeiger auf zusätzliche Sprachdateien. Siehe Lokalisierung.

Name Typ Maximale Größe Erforderlich Beschreibung
defaultLanguageTag Zeichenfolge ✔️ Das Sprachtag für die Zeichenfolgen in dieser App-Manifestdatei der obersten Ebene. Der Standardwert ist en-us.
defaultLanguageFile Zeichenfolge 2048 Zeichen Ein relativer Dateipfad zur .json Datei, die die Zeichenfolgen enthält. Wenn nicht angegeben, werden Zeichenfolgen direkt aus der App-Manifestdatei übernommen. Für Copilot-Agents, die mehrere Sprachen unterstützen, ist eine Standardsprachdatei erforderlich.

localizationInfo.additionalLanguages

Ein Array von -Objekten, die jeweils die folgenden Eigenschaften aufweisen, um zusätzliche Sprachübersetzungen anzugeben.

Name Typ Maximale Größe Erforderlich Beschreibung
languageTag Zeichenfolge ✔️ Das Sprachtag der Zeichenfolgen in der bereitgestellten Datei. Beispiel: es
file Zeichenfolge 2048 Zeichen ✔️ Ein relativer Dateipfad zur .json Datei, die die übersetzten Zeichenfolgen enthält.

Symbole

Erforderlich – Objekt

Symbole, die in der Microsoft Teams-App verwendet werden. Die Symboldateien müssen als Teil des Uploadpakets enthalten sein. Weitere Informationen finden Sie unter Symbole.

Name Typ Maximale Größe Erforderlich Beschreibung
outline Zeichenfolge 32 x 32 Pixel ✔️ Ein relativer Dateipfad zu einem transparenten, 32 x 32 Pixel großen PNG-Kontursymbol. Die Rahmenfarbe muss weiß sein.
color Zeichenfolge 192 x 192 Pixel ✔️ Ein relativer Dateipfad zu einem farbigen, 192 x 192 Pixel großen PNG-Symbol.

accentColor

Erforderlich : HTML-Hexady-Farbcode

Eine Farbe, die und als Hintergrund für Ihre Farbsymbole verwendet werden soll.

Bei dem Wert muss es sich um einen gültigen HTML-Farbcode handeln, der mit "#" beginnt, z. B. #4464ee. Weitere Informationen finden Sie unter accentColor.

copilotAgents

Optional – Objekt

Definiert einen oder mehrere Agents, die Microsoft 365 Copilot. Deklarative Agents sind Anpassungen von Microsoft 365 Copilot, die auf denselben Orchestrator- und Basismodellen ausgeführt werden.

Name Typ Maximale Größe Erforderlich Beschreibung
declarativeAgents Array mit Objekten 1 ✔️ Array von Objekten, die jeweils einen deklarativen Agent definieren.

declarativeAgents

Stellt eine Anpassung von Microsoft 365 Copilot dar, wie durch die Manifestdatei definiert.

Name Typ Maximale Größe Erforderlich Beschreibung
id Zeichenfolge ✔️ Eindeutiger Bezeichner für den Agent. Wenn Sie Microsoft Copilot Studio zum Erstellen von Agents verwenden, wird dies automatisch generiert. Andernfalls weisen Sie den Wert manuell gemäß Ihren eigenen Konventionen oder Präferenzen zu.
file Zeichenfolge 2048 Zeichen ✔️ Relativer Dateipfad innerhalb des App-Pakets zur Manifestdatei des deklarativen Agents .

configurableTabs

Optional – Array

Wird verwendet, wenn Ihre App-Erfahrung über eine Teamkanalregisterkarte verfügt, die eine zusätzliche Konfiguration erfordert, bevor sie hinzugefügt wird. Konfigurierbare Registerkarten werden nur in den team- und groupChat-Bereichen unterstützt, und Sie können dieselben Registerkarten mehrmals konfigurieren. Sie können sie jedoch nur einmal im App-Manifest definieren.

Name Typ Maximale Größe Erforderlich Beschreibung
configurationUrl Zeichenfolge 2048 Zeichen ✔️ Die https://-URL, die beim Konfigurieren der Registerkarte verwendet werden soll.
scopes Array von Enumerationen 2 ✔️ Die konfigurierbaren Registerkarten unterstützen nur die team Bereiche und groupChat .
canUpdateConfiguration Boolesch Der Wert, der angibt, ob eine Instanz der Registerkartenkonfiguration nach der Erstellung vom Benutzer aktualisiert werden kann.
Standardwert: true
meetingSurfaces Array von Enumerationen 2 Die Gruppe von meetingSurfaceItem-Bereichen, in denen eine Registerkarte unterstützt wird.
Standardwerte: sidePanel, stage
context Array von Enumerationen 8 Die Gruppe von contextItem-Bereichen, in denen eine Registerkarte unterstützt wird. Akzeptierter Wert: [personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab, meetingSidePanel, meetingStage].
sharePointPreviewImage Zeichenfolge 2048 Zeichen Ein relativer Dateipfad zu einem Registerkartenvorschaubild zur Verwendung in SharePoint. Größe: 1024 x 768.
supportedSharePointHosts Array von Enumerationen 2 Definiert, wie Ihre Registerkarte in SharePoint zur Verfügung gestellt wird. Optionen sind sharePointFullPage und sharePointWebPart.

staticTabs

Optional – Array

Definiert einen Satz von Registerkarten, die standardmäßig angeheftet werden können, ohne dass der Benutzer sie manuell hinzufügt. Im personal-Bereich deklarierte statische Registerkarten werden immer an die persönliche Benutzeroberfläche der App angeheftet.

Dieses Element ist ein Array (maximal 16 Elemente), wobei alle Elemente vom Typ object sind. Dieser Block ist nur für Lösungen erforderlich, die eine Lösung mit statischen Registerkarten bereitstellen.

Name Typ Maximale Größe Erforderlich Beschreibung
entityId String 64 Zeichen ✔️ Ein eindeutiger Bezeichner für die Entität, die auf der Registerkarte angezeigt wird.
name Zeichenfolge 128 Zeichen Der Anzeigename der Registerkarte.
contentUrl Zeichenfolge 2048 Zeichen Die https://-URL, die auf die Entitäts-Benutzeroberfläche verweist, die im Microsoft Teams-Canvas angezeigt werden soll.
contentBotId Zeichenfolge 128 Zeichen Die für den Bot im Bot Framework-Portal angegebene Microsoft-App-ID.
websiteUrl Zeichenfolge 2048 Zeichen Die https://-URL, auf die verwiesen wird, wenn sich ein Benutzer für die Anzeige in einem Browser entscheidet.
searchUrl Zeichenfolge 2048 Zeichen Die https://-URL, auf die für die Suchabfragen eines Benutzers verwiesen wird.
scopes Array von Enumerationen 3 ✔️ Gibt an, ob die Registerkarte eine Benutzeroberfläche im Kontext eines Kanals in einem Team oder eine Erfahrung für einen einzelnen Benutzer oder Gruppenchat bietet. Die statischen Registerkarten unterstützen personal nur den Bereich.
context Array von Enumerationen 8 Der Satz von contextItem Kontexten, in denen eine Registerkarte unterstützt wird.
Akzeptierte Werte: personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab, meetingStage, meetingSidepanel, teamLevelApp.
Standardwerte: personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab.

Hinweis

  • Die groupChat Bereiche und team werden nur in der öffentlichen Entwicklervorschau unterstützt.
  • Der teamLevelApp Kontext ist nur für Education-Mandanten dediziert.
  • Das searchUrl Feature ist für Drittanbieterentwickler nicht verfügbar.
  • Wenn Ihre Registerkarten kontextabhängige Informationen zum Anzeigen relevanter Inhalte oder zum Initiieren eines Authentifizierungsvorgangs benötigen, finden Sie entsprechende Informationen unter Abrufen von Kontext für Ihre Microsoft Teams-Registerkarte.

Bots

Optional – Array

Definiert eine Bot-Lösung zusammen mit optionalen Informationen wie Standardbefehlseigenschaften.

Das Element ist ein Array (maximal nur ein Element – nur ein Bot ist pro App zulässig) mit allen Elementen des Typs object. Dieser Block ist nur für Lösungen erforderlich, die einen Bot umfassen.

Name Typ Maximale Größe Erforderlich Beschreibung
botId Zeichenfolge ✔️ Die eindeutige Microsoft-App-ID für den Bot, wie bei Bot Framework registriert. Die ID kann mit der Gesamt-App-IDübereinstimmen.
scopes Array von Enumerationen 3 ✔️ Gibt an, ob der Bot eine Umgebung im Kontext eines Kanals in einem team oder Gruppenchat (groupChat) ist, oder aber eine Umgebung einzig für einen bestimmten Benutzer (personal). Diese Optionen sind nicht exklusiv.
needsChannelSelector Boolesch Beschreibt, ob der Bot einen Benutzerhinweis verwendet, um den Bot zu einem bestimmten Kanal hinzuzufügen.
Standardwert: false
isNotificationOnly Boolesch Gibt an, ob ein Bot ein unidirektionaler Bot ausschließlich für Benachrichtigungen ist (im Gegensatz zu einem dialogorientierten Bot).
Standardwert: false
supportsFiles Boolesch Gibt an, ob der Bot die Möglichkeit zum Hochladen/Herunterladen von Dateien in persönliche Chats unterstützt.
Standardwert: false
supportsCalling Boolesch Ein Wert, der angibt, wo ein Bot Audioanrufe unterstützt. WICHTIG: Diese Eigenschaft ist experimentell. Experimentelle Eigenschaften sind möglicherweise unvollständig und werden möglicherweise geändert, bevor sie vollständig verfügbar sind. Die Eigenschaft wird nur zu Test- und Erforschungszwecken bereitgestellt und darf nicht in Produktionsanwendungen verwendet werden.
Standardwert: false
supportsVideo Boolescher Wert Ein Wert, der angibt, wo ein Bot Videoanrufe unterstützt. WICHTIG: Diese Eigenschaft ist experimentell. Experimentelle Eigenschaften sind möglicherweise unvollständig und werden möglicherweise geändert, bevor sie vollständig verfügbar sind. Die Eigenschaft wird nur zu Test- und Erforschungszwecken bereitgestellt und darf nicht in Produktionsanwendungen verwendet werden.
Standardwert: false

bots.configuration

Optional – Objekt

Name Typ Maximale Größe Erforderlich Beschreibung
team.fetchTask Boolescher Wert ✔️ Ein boolescher Wert, der angibt, ob der Dialog (in TeamsJS v1.x als Aufgabenmodul bezeichnet) dynamisch abgerufen werden soll.
Standardwert: false
team.taskInfo Objekt ✔️ Das Dialogfeld, das bei Verwendung eines Bots vorab geladen werden soll
team.taskInfo.title String 64 Zeichen ✔️ Titel des ersten Dialogfelds.
team.taskInfo.width Zeichenfolge 16 Zeichen Die Dialogbreite ist entweder eine Zahl in Pixel oder ein Standardlayout wie large, mediumoder small.
team.taskInfo.height String 16 Zeichen Die Höhe des Dialogfelds ist entweder eine Zahl in Pixel oder ein Standardlayout wie large, mediumoder small.
team.taskInfo.url Zeichenfolge 2048 Zeichen Anfängliche WebView-URL.
groupChat.fetchTask Boolesch ✔️ Ein boolescher Wert, der angibt, ob der Dialog dynamisch abgerufen werden soll.
Standardwert: false
groupChat.taskInfo Objekt Dialogfeld, das gestartet werden soll, wenn der Abruftask auf false festgelegt ist.
Standardwert: false
groupChat.taskInfo.title String 64 Zeichen ✔️ Titel des ersten Dialogfelds.
groupChat.taskInfo.width Zeichenfolge 16 Die Dialogbreite ist entweder eine Zahl in Pixel oder ein Standardlayout wie large, mediumoder small.
groupChat.taskInfo.height String 16 Die Höhe des Dialogfelds ist entweder eine Zahl in Pixel oder ein Standardlayout wie large, mediumoder small.
groupChat.taskInfo.url Zeichenfolge 2048 Zeichen Anfängliche WebView-URL.

bots.commandLists

Optional – Array

Eine Liste der Befehle, die Ihr Bot Benutzern empfehlen kann. Das Objekt ist ein Array (maximal drei Elemente) mit allen Elementen des Typs object. Sie müssen eine separate Befehlsliste für jeden Bereich definieren, den Ihr Bot unterstützt. Weitere Informationen finden Sie unter Bot-Menüs.

Name Typ Maximale Größe Erforderlich Beschreibung
scopes Array von Enumerationen 3 ✔️ Gibt den Bereich an, für den die Befehlsliste gültig ist. Mögliche Optionen sind team, personal und groupChat.
commands Array mit Objekten 10 ✔️ Ein Array von Befehlen, die der Bot unterstützt.

Hinweis

Der mobile Teams-Client unterstützt die Bot-App nicht, wenn die commandLists Eigenschaft keinen Wert enthält.

bots.commandLists.commands

Erforderlich – Array

Name Typ Maximale Größe Erforderlich Beschreibung
title String 32 ✔️ Der Name des Bot-Befehls.
description Zeichenfolge 128 Zeichen ✔️ Eine einfache Textbeschreibung oder ein Beispiel für die Befehlssyntax und zugehörige Argumente.

connectors

Optional – Array

Der connectors -Block definiert einen Connector Karte für Microsoft 365-Gruppen für die App.

Das Objekt ist ein Array (maximal ein Element), wobei alle Elemente vom Typ object sind. Dieser Block ist nur für Lösungen erforderlich, die einen Connector bereitstellen.

Name Typ Maximale Größe Erforderlich Beschreibung
configurationUrl Zeichenfolge 2048 Zeichen ✔️ Die https:// URL, die beim Konfigurieren des Connectors mithilfe der Inlinekonfigurationsoberfläche verwendet werden soll.
scopes Array von Enumerationen 1 ✔️ Gibt an, ob der Connector eine Umgebung im Kontext eines Kanals in einem team oder aber eine Umgebung einzig für einen bestimmten Benutzer (personal) bietet. Der team Bereich wird nur unterstützt.
connectorId String 64 Zeichen ✔️ Ein eindeutiger Bezeichner für den Connector, der seiner ID im Connectors Developer Dashboard entspricht.

composeExtensions

Optional – Array

Definiert eine Nachrichtenerweiterung für die App.

Hinweis

Der Name des Features wurde im November 2017 von "Compose-Erweiterung" in "Nachrichtenerweiterung" geändert, aber der Name des App-Manifests bleibt unverändert, sodass vorhandene Erweiterungen weiterhin funktionieren.

Das Element ist ein Array (maximal ein Element), wobei alle Elemente vom Typ object sind. Dieser Block ist nur für Lösungen erforderlich, die eine Nachrichtenerweiterung bereitstellen.

Name Typ Maximale Größe Erforderlich Beschreibung
botId Zeichenfolge Die eindeutige Microsoft-App-ID für den Bot, welcher der Nachrichtenerweiterung zugeordnet ist, wie beim Bot Framework registriert. Die ID kann mit der Gesamt-App-ID übereinstimmen.
composeExtensionType Zeichenfolge ✔️ Typ der Compose-Erweiterung. Enumerationswerte sind botBased und apiBased.
authorization Objekt 2 Autorisierungsbezogene Informationen für die API-basierte Nachrichtenerweiterung.
authorization.authType Zeichenfolge Enumeration möglicher Autorisierungstypen. Unterstützte Werte sind none, apiSecretServiceAuthund microsoftEntra.
authorization.microsoftEntraConfiguration Objekt Objekterfassungsdetails, die für den MicrosoftEntra-Authentifizierungsfluss erforderlich sind. Gilt nur, wenn der Authentifizierungstyp ist microsoftEntra.
authorization.microsoftEntraConfiguration.supportsSingleSignOn Boolesch Ein Wert, der angibt, ob einmaliges Anmelden für die App konfiguriert ist.
authorization.apiSecretServiceAuthConfiguration Objekt Objekterfassungsdetails, die für die Dienstauthentifizierung erforderlich sind. Gilt nur, wenn der Authentifizierungstyp ist apiSecretServiceAuth.
authorization.apiSecretServiceAuthConfiguration.apiSecretRegistrationId Zeichenfolge 128 Zeichen Die Registrierungs-ID wird zurückgegeben, wenn der Entwickler den API-Schlüssel über das Entwicklerportal übermittelt.
apiSpecificationFile Zeichenfolge 2048 Zeichen Ein relativer Dateipfad zur API-Spezifikationsdatei im Manifestpaket.
canUpdateConfiguration Boolesch Ein Wert, der angibt, ob die Konfiguration einer Nachrichtenerweiterung vom Benutzer aktualisiert werden kann.
Standardwert: false
commands Array mit Objekten 10 ✔️ Array von Befehlen, die von der Nachrichtenerweiterung unterstützt werden.
messageHandlers Array mit Objekten 5 Eine Liste von Handlern, mit denen Apps aufgerufen werden können, wenn bestimmte Bedingungen erfüllt sind.
messageHandlers.type Zeichenfolge Der Typ des Nachrichtenhandlers. Muss link sein.
messageHandlers.value.domains Array aus Zeichenfolgen 2048 Zeichen Array von Domänen, für die sich der Link-Nachrichtenhandler registrieren kann.
messageHandlers.value.supportsAnonymizedPayloads Boolesch Ein boolescher Wert, der angibt, ob der Linknachrichtenhandler der App anonymen Aufrufflow unterstützt.
Standardwert: false

composeExtensions.commands

Ihre Nachrichtenerweiterung muss mindestens einen Befehl deklarieren (maximal 10 Befehle insgesamt). Jeder Befehl wird in Microsoft Teams als potenzielle Interaktion vom Einstiegspunkt in der Benutzeroberfläche angezeigt.

Jedes Befehlselement ist ein Objekt mit folgender Struktur:

Name Typ Maximale Größe Erforderlich Beschreibung
id String 64 Zeichen ✔️ Die ID für den Befehl.
type String Der Befehlstyp. Entweder query oder action.
Standardwert: query
samplePrompts Array 5 Eigenschaft, die von Microsoft 365 Copilot verwendet wird, um vom Plug-In unterstützte Eingabeaufforderungen für den Benutzer anzuzeigen.
samplePrompts.text Zeichenfolge 128 Zeichen ✔️ Inhalt der Beispielaufforderung.
apiResponseRenderingTemplateFile Zeichenfolge 2048 Zeichen Ein relativer Dateipfad für die API-Antwortrendering-Vorlagendatei , die zum Formatieren der JSON-Antwortantwort von der API des Entwicklers in die Antwort adaptiver Karten verwendet wird.
context Array aus Zeichenfolgen 3 Definiert, wo die Nachrichtenerweiterung aufgerufen werden kann. Jede Kombination von compose, commandBox, message.
Standardwerte: compose, commandBox
title Zeichenfolge 32 Zeichen ✔️ Der benutzerfreundliche Name des Befehls.
description Zeichenfolge 128 Zeichen Die Beschreibung, die Benutzern angezeigt wird, um den Zweck dieses Befehls anzugeben.
semanticDescription Zeichenfolge 5000 Zeichen Semantische Beschreibung des Befehls für die Verwendung durch Microsoft 365 Copilot mithilfe von LLMs (Large Language Models).
initialRun Boolesch Ein boolescher Wert gibt an, ob der Befehl anfänglich ohne Parameter ausgeführt wird.
Standardwert: false
fetchTask Boolesch Ein boolescher Wert, der angibt, ob der Dialog (in TeamsJS v1.x als Aufgabenmodul bezeichnet) dynamisch abgerufen werden muss.
Standardwert: false
taskInfo Objekt Geben Sie bei Verwendung eines Nachrichtenerweiterungsbefehls das Dialogfeld an, das vorab laden soll.
taskInfo.title String 64 Zeichen Titel des ersten Dialogfelds.
taskInfo.width Zeichenfolge Dialogbreite: Entweder eine Zahl in Pixel oder Standardlayoutwerte wie large, mediumoder small.
taskInfo.height String Dialoghöhe: Entweder eine Zahl in Pixel oder Standardlayoutwerte wie large, mediumoder small.
taskInfo.url Zeichenfolge Anfängliche WebView-URL.
parameters Array mit Objekten 5 Die Liste der Parameter, die der Befehl verwendet.
parameters.name String 64 Zeichen ✔️ Der Name des Parameters, wie er im Client angezeigt wird. Der Parametername ist in der Benutzeranforderung enthalten.
parameters.title Zeichenfolge 32 Zeichen ✔️ Benutzerfreundlicher Titel für den Parameter.
parameters.description Zeichenfolge 128 Zeichen Benutzerfreundliche Zeichenfolge, die den Zweck dieses Parameters beschreibt.
parameters.semanticDescription Zeichenfolge 2000 Zeichen Semantische Beschreibung des Parameters für die Verwendung durch Microsoft 365 Copilot mithilfe von LLMs (Large Language Models).
parameters.value Zeichenfolge 512 Zeichen Anfangswert für den Parameter. Der Wert wird nicht unterstützt.
parameters.inputType Zeichenfolge Definiert den Typ des Steuerelements, das in einem Dialogfeld für fetchTask: falseangezeigt wird. Der Eingabewert kann nur einer von text, , textarea, datenumber, , time, toggleseinchoiceset.
Standardwert: text
parameters.choices Array mit Objekten 10 Elemente Die Auswahloptionen für choiceset. Wird nur verwendet, wenn parameters.inputTypechoiceset ist.
parameters.choices.title Zeichenfolge 128 Zeichen ✔️ Titel der Auswahl.
parameters.choices.value Zeichenfolge 512 Zeichen ✔️ Value of the choice.

Berechtigungen

Optional : Array von Zeichenfolgen

Ein Array von string, das angibt, welche Berechtigungen die App anfordert, wodurch Endbenutzer wissen, wie die Erweiterung funktioniert. Die folgenden Optionen sind nicht exklusiv:

  • identity Erfordert Benutzeridentitätsinformationen.
  • messageTeamMembers Erfordert die Berechtigung zum Senden von direkten Nachrichten an Teammitglieder.

Wenn Sie diese Berechtigungen während der App-Aktualisierung ändern, müssen Ihre Benutzer den Zustimmungsprozess wiederholen, nachdem sie die aktualisierte App gestartet haben. Weitere Informationen finden Sie unter Aktualisieren Ihrer App.

Hinweis

Berechtigungen sind jetzt veraltet.

devicePermissions

Optional : Array von Zeichenfolgen

Stellt die systemeigenen Features auf dem Gerät eines Benutzers bereit, für die Ihre App Zugriff anfordert. Mögliche Optionen sind:

  • geolocation
  • media
  • notifications
  • midi
  • openExternal

validDomains

Optional (außer Erforderlich , falls angegeben) – Array von Zeichenfolgen

Eine Liste gültiger Domänen für Websites, die von der App im Microsoft Teams-Client geladen werden sollen. Domäneneinträge können Platzhalter enthalten, z. B. *.example.com. Die gültige Domäne entspricht genau einem Segment der Domäne. Wenn sie a.b.example.com entsprechen muss, verwenden Sie *.*.example.com. Wenn Ihre Registerkartenkonfiguration oder Inhalts-UI zu einer anderen Domäne als jener der Registerkartenkonfiguration führt, muss diese Domäne hier angegeben werden.

Schließen Sie nicht die Domänen von Identitätsanbietern ein, die in Ihrer App unterstützt werden sollen. Wenn Sie sich beispielsweise mit einer Google-ID authentifizieren möchten, müssen Sie zu accounts.google.com umleiten. Sie dürfen jedoch nicht accounts.google.com in validDomains[]einschließen.

Microsoft Teams-Apps, die ihre eigenen SharePoint-URLs benötigen, um ordnungsgemäß zu funktionieren, enthalten "{teamsitedomain}" in ihrer Liste zulässiger Domänen.

Wichtig

Fügen Sie keine Domänen hinzu, die sich außerhalb Ihrer Kontrolle befinden, weder direkt noch über Wildcards (). Beispielsweise ist .yoursite.com gültig, aber *.onmicrosoft.com ist ungültig, da es nicht unter Ihrer Kontrolle steht.

Bei Verwendung von Wildcards gelten die folgenden Regeln:

  • Wenn ein Unterdomänensegment einen Platzhalter enthält, muss es das einzige Zeichen im Segment sein.
  • Jedes Segment, das einem Wildcardsegment vorangeht, muss ebenfalls ein Wildcardsegment sein.

Beispielsweise ist *.*.domain.com gültig, aber foo.*.myteam.domain.com ist ungültig.

Das Objekt ist ein Array, wobei alle Elemente vom Typ string sind. Das maximale Element des Objekts ist 16 und die maximale Länge beträgt 2048 Zeichen.

webApplicationInfo

Hinweis

Die webApplicationInfo -Eigenschaft bezieht sich auf eine einzelne Domäne und wird für mehrere Domänen nicht unterstützt. Wenn Sie also zwei Apps in unterschiedlichen Domänen gehostet haben, müssen Sie separate App-Manifeste für jede App erstellen.

Optional – Objekt

Geben Sie Ihre Microsoft Entra App-ID und Microsoft Graph-Informationen an, damit sich Benutzer nahtlos bei Ihrer App anmelden können. Wenn Ihre App in Microsoft Entra ID registriert ist, müssen Sie die App-ID angeben. Administratoren können im Microsoft Teams Admin Center Berechtigungen einfach überprüfen und ihre Zustimmung erteilen.

Name Typ Maximale Größe Erforderlich Beschreibung
id String ✔️ Microsoft Entra Anwendungs-ID der App. Diese ID muss eine GUID sein.
resource Zeichenfolge 2048 Zeichen Ressourcen-URL der App zum Abrufen des Authentifizierungstokens für Einmaliges Anmelden.
ANMERKUNG: Wenn Sie SSO nicht verwenden, stellen Sie sicher, dass Sie einen Dummyzeichenfolgenwert in dieses Feld in Ihr App-Manifest eingeben, https://example um beispielsweise eine Fehlerantwort zu vermeiden. Der Dummy-URL-Zeichenfolgenwert darf keine Domänen oder URLs enthalten, die sich nicht direkt oder über Platzhalter befinden. Beispielsweise yourapp.onmicrosoft.com ist gültig, aber *.onmicrosoft.com nicht gültig. Die Domänen der obersten Ebene sind verboten, *.comz. B. , *.org.

graphConnector

Optional – Objekt

Geben Sie die Graph-Connectorkonfiguration der App an. Wenn dies vorhanden ist, muss auch webApplicationInfo.id angegeben werden.

Name Typ Maximale Größe Erforderlich Beschreibung
notificationUrl Zeichenfolge 2048 Zeichen ✔️ Die URL, an die Graph-Connector-Benachrichtigungen für die Anwendung gesendet werden sollen.

showLoadingIndicator

Optional – Boolescher Wert

Gibt an, ob die Ladefortschritt angezeigt werden soll, während eine App oder Registerkarte geladen wird. Der Standardwert ist false.

Hinweis

  • Wenn Sie in Ihrem App-Manifest die Option true auswählen showLoadingIndicator , ändern Sie die Inhaltsseiten Ihrer Registerkarten und Dialogfelder, um die Seite ordnungsgemäß zu laden, wie unter Anzeigen eines nativen Ladeindikatordokuments beschrieben.
  • Wenn Sie die Inhaltsseiten ihrer Registerkarte nicht ändern, wird die Registerkarten-App nicht geladen und zeigt den Fehler There was a problem reaching this appan.

isFullScreen

Optional – Boolescher Wert

Gibt an, ob eine persönliche App ohne Registerkartenkopfleiste gerendert wird (was den Vollbildmodus anzeigt). Standardwert: false

Hinweis

  • isFullScreen funktioniert nur für Apps, die in Ihrer Organisation veröffentlicht wurden. Hochgeladene und veröffentlichte Drittanbieter-Apps können diese Eigenschaft nicht verwenden (sie wird ignoriert).

  • Der isFullScreen=true Parameter entfernt die von Teams bereitgestellte Kopfzeile und den Titel aus persönlichen Apps und Dialogen. Es wird jedoch empfohlen, den isFullScreen=true Parameter nicht mit Chat-Bot-Apps zu verwenden.

Aktivitäten

Optional – Objekt

Definiert die Eigenschaften, die Ihre App zum Posten eines Benutzeraktivitätsfeeds verwendet.

Name Typ Maximale Größe Erforderlich Beschreibung
activityTypes Array mit Objekten 128 Elemente Geben Sie die Arten von Aktivitäten an, die Ihre App in einem Benutzeraktivitätsfeed veröffentlichen kann.

activities.activityTypes

Name Typ Maximale Größe Erforderlich Beschreibung
type String 64 Zeichen ✔️ Der Benachrichtigungstyp.
description Zeichenfolge 128 Zeichen ✔️ Eine kurze Beschreibung der Benachrichtigung.
templateText Zeichenfolge 128 Zeichen ✔️ Beispiel: "{actor} hat die Aufgabe {taskId} für Sie erstellt."
{
   "activities":{
      "activityTypes":[
         {
            "type":"taskCreated",
            "description":"Task Created Activity",
            "templateText":"{actor} created task {taskId} for you"
         },
         {
            "type":"teamMention",
            "description":"Team Mention Activity",
            "templateText":"{actor} mentioned team"
         },
         {
            "type":"channelMention",
            "description":"Channel Mention Activity",
            "templateText":"{actor} mentioned channel"
         },
         {
            "type":"userMention",
            "description":"Personal Mention Activity",
            "templateText":"{actor} mentioned user"
         },
         {
            "type":"calendarForward",
            "description":"Forwarding a Calendar Event",
            "templateText":"{actor} sent user an invite on behalf of {eventOwner}"
         },
         {
            "type":"calendarForward",
            "description":"Forwarding a Calendar Event",
            "templateText":"{actor} sent user an invite on behalf of {eventOwner}"
         },
         {
            "type":"creatorTaskCreated",
            "description":"Created Task Created",
            "templateText":"The Creator created task {taskId} for you"
         }
      ]
   }
}

defaultInstallScope

Optional – Zeichenfolge

Gibt den standardmäßig für diese App definierten Installationsbereich an. Der definierte Bereich ist die Option, die auf der Schaltfläche angezeigt wird, wenn ein Benutzer versucht, die App hinzuzufügen. Mögliche Optionen sind:

  • personal
  • team
  • groupChat
  • meetings

defaultGroupCapability

Optional – Objekt

Wenn ein Gruppeninstallationsbereich ausgewählt ist, wird die Standardfunktion definiert, wenn der Benutzer die App installiert.

Name Typ Maximale Größe Erforderlich Beschreibung
team Zeichenfolge Wenn der ausgewählte Installationsbereich team ist, gibt dieses Feld die verfügbare Standardfunktion an. Optionen: tab, bot oder connector.
groupchat String Wenn der ausgewählte Installationsbereich groupChat ist, gibt dieses Feld die verfügbare Standardfunktion an. Optionen: tab, bot oder connector.
meetings Zeichenfolge Wenn der ausgewählte Installationsbereich meetings ist, gibt dieses Feld die verfügbare Standardfunktion an. Optionen: tab, bot oder connector.

configurableProperties

Optional – Array

Der configurableProperties-Block definiert die App-Eigenschaften, die Microsoft Teams-Administratoren anpassen können. Weitere Informationen finden Sie unter Aktivieren der App-Anpassung. Die App-Anpassungsfunktion wird in benutzerdefinierten Apps oder benutzerdefinierten Apps, die für Ihre Organisation (BRANCHEN-Apps) erstellt wurden, nicht unterstützt.

Hinweis

Es muss mindestens eine Eigenschaft definiert werden. Sie können in diesem Block maximal neun Eigenschaften definieren.

Sie können eine der folgenden Eigenschaften definieren:

supportedChannelTypes

Optional – Array

Aktiviert Ihre App in Kanälen die keine Standardkanäle sind. Wenn Ihre App einen Teambereich unterstützt und diese Eigenschaft definiert ist, aktiviert Microsoft Teams Ihre App in jedem Kanaltyp entsprechend. Die supportedChannelTypes-Eigenschaft unterstützt sharedChannels nur und privateChannels.

Hinweis

  • Wenn Ihre App einen Teambereich unterstützt, funktioniert dieser in den Standardkanälen unabhängig von den in dieser Eigenschaft definierten Werten.
  • Ihre Anwendung kann die individuellen Eigenschaften der einzelnen Kanaltypen berücksichtigen, um ordnungsgemäß zu funktionieren. Informationen zum Aktivieren Ihrer Registerkarte für private und freigegebene Kanäle finden Sie unter Abrufen des Kontexts in privaten Kanälen und Abrufen von Kontext in freigegebenen Kanälen.

defaultBlockUntilAdminAction

Optional – Boolescher Wert

Wenn die defaultBlockUntilAdminAction-Eigenschaft auf true festgelegt ist, ist die App so lange standardmäßig für Benutzer ausgeblendet, bis der Administrator sie zulässt. Bei Festlegung auf true ist die App für alle Mandanten und Endbenutzer ausgeblendet. Mandantenadministratoren können die App im Microsoft Teams Admin Center sehen und Maßnahmen ergreifen, um sie zuzulassen oder zu blockieren. Der Standardwert ist false. Weitere Informationen zum Standardmäßigen App-Block finden Sie unter Blockieren von Apps standardmäßig für Benutzer, bis ein Administrator dies genehmigt.

publisherDocsUrl

Optional – Zeichenfolge

Maximale Größe – 2048 Zeichen

Der Wert des publisherDocsUrl Parameters ist eine sichere HTTPS-URL zur Dokumentations- und Informationsseite der App, die App-Entwickler angeben möchten. Mandantenadministratoren erhalten dokumentationen zur App unter dieser URL. Teams Admin Center zeigt die URL auf der Seite mit den App-Details an. Die Dokumentation kann Anweisungen für Administratoren enthalten, um die App-Einführung und den App-Rollout zu erleichtern. In der App-Dokumentation können Sie auch Anweisungen oder Informationen zur App einfügen, die für den Mandantenadministrator, Benutzer und andere Geschäftsbeteiligte nützlich sind.

subscriptionOffer

Optional – Objekt

Gibt das Ihrer App zugeordnete SaaS-Angebot an.

Name Typ Maximale Größe Erforderlich Beschreibung
offerId Zeichenfolge 2048 Zeichen ✔️ Ein eindeutiger Bezeichner, der Ihre Publisher-ID und Angebots-ID enthält. Diese finden Sie im Partner Center. Sie müssen die Zeichenfolge als publisherId.offerId formatieren.

meetingExtensionDefinition

Optional – Objekt

Geben Sie die Besprechungserweiterungsdefinition an. Weitere Informationen finden Sie unter benutzerdefinierten Szenen im Zusammen-Modus in Teams.

Name Typ Maximale Größe Erforderlich Beschreibung
scenes Array mit Objekten 5 Elemente Unterstützte Besprechungsszenen.
supportsStreaming Boolesch Ein Wert, der angibt, ob eine App die Audio- und Videoinhalte der Besprechung auf einen RTMP-Endpunkt (Real-Time Meeting Protocol) streamen kann.
Standardwert: false
supportsAnonymousGuestUsers Boolesch Ein -Wert, der angibt, ob eine App den Zugriff für anonyme Benutzer unterstützt.
Standardwert: false

Hinweis

Die supportsAnonymousGuestUsers -Eigenschaft im App-Manifestschema v1.16 wird nur im neuen Teams-Client unterstützt.

meetingExtensionDefinition.scenes

Name Typ Maximale Größe Erforderlich Beschreibung
id Zeichenfolge ✔️ Der eindeutige Bezeichner für die Szene. Diese ID muss eine GUID sein.
name Zeichenfolge 128 Zeichen ✔️ Der Name der Szene.
file Zeichenfolge 2048 Zeichen ✔️ Der relative Dateipfad zur JSON-Metadatendatei der Szenen.
preview Zeichenfolge 2048 Zeichen ✔️ Der relative Dateipfad zum PNG-Vorschausymbol der Szenen.
maxAudience Ganze Zahl 50 ✔️ Die maximale Anzahl von Zielgruppen, die in der Szene unterstützt werden.
seatsReservedForOrganizersOrPresenters Ganze Zahl 50 ✔️ Die Anzahl der Plätze, die für Organisatoren oder Moderatoren reserviert sind.

Autorisierung

Optional – Objekt

Hinweis

authorization wird nur für die App-Manifestversion 1.12 oder höher unterstützt.

Spezifizieren und konsolidieren Sie autorisierungsbezogene Informationen für die App.

Name Typ Maximale Größe Erforderlich Beschreibung
permissions Object Liste der Berechtigungen, welche die App benötigt, um zu funktionieren.

authorization.permissions

Name Typ Maximale Größe Erforderlich Beschreibung
resourceSpecific Array mit Objekten 16 Elemente Berechtigungen, die den Datenzugriff auf Ebene der Ressourceninstanz schützen.

authorization.permissions.resourceSpecific

Name Typ Maximale Größe Erforderlich Beschreibung
type Zeichenfolge ✔️ Der Typ der Berechtigung für die ressourcenspezifische Zustimmung (RSC). Optionen: Application und Delegated.
name Zeichenfolge 128 Zeichen ✔️ Der Name der RSC-Berechtigung. Weitere Informationen finden Sie unter RSC-Anwendungsberechtigungen und delegierte RSC-Berechtigungen.

RSC-Anwendungsberechtigungen

Anwendungsberechtigungen ermöglichen der App den Zugriff auf Daten, ohne dass ein Benutzer angemeldet ist. Informationen zu Anwendungsberechtigungen finden Sie unter RSC-Berechtigungen für Microsoft Graph und Microsoft BotSDK.

Delegierte RSC-Berechtigungen

Delegierte Berechtigungen ermöglichen der App den Zugriff auf Daten im Namen des angemeldeten Benutzers.

  • Delegierte RSC-Berechtigungen für ein Team

    Name Beschreibung
    ChannelMeetingParticipant.Read.Group Ermöglicht es der App, im Namen des angemeldeten Benutzers die Teilnehmerinformationen (Name, Rolle, ID, Beitritts- und Abwesenheitszeiten) von Channel-Meetings zu lesen, die mit diesem Team verbunden sind.
    ChannelMeetingIncomingAudio.Detect.Group Ermöglicht der App das Erkennen eingehender Audiodaten in Kanalbesprechungen, die dem Team zugeordnet sind.
    ChannelMeetingActiveSpeaker.Read.Group Ermöglicht der App das Lesen der Teilnehmer, die Audiodaten an die Kanalbesprechungen senden, die dem Team zugeordnet sind.
    ChannelMeetingAudioVideo.Stream.Group Ermöglicht der App das Streamen von Audio-Video-Inhalten aus Kanalbesprechungen, die dem Team zugeordnet sind.
    InAppPurchase.Allow.Group Ermöglicht es der App, Marketplace-Angebote für Benutzer im Team anzuzeigen und ihre Einkäufe innerhalb der App im Namen des angemeldeten Benutzers abzuschließen.
    ChannelMeetingStage.Write.Group Ermöglicht der App das Anzeigen von Inhalten auf der Besprechungsphase in Kanalbesprechungen, die dem Team zugeordnet sind, im Namen des angemeldeten Benutzers.
    LiveShareSession.ReadWrite.Group Ermöglicht der App, Live Share-Sitzungen für das Team zu erstellen und zu synchronisieren und im Namen des angemeldeten Benutzers Zugriffsinformationen wie Name und Rolle, über die Teamliste und alle zugehörigen Besprechungen abzurufen.
    MeetingParticipantReaction.Read.Group Ermöglicht der App das Lesen von Reaktionen von Teilnehmern in Kanalbesprechungen, die dem Team zugeordnet sind.
  • DELEGIERTE RSC-Berechtigungen für Chats oder Besprechungen

    Name Beschreibung
    InAppPurchase.Allow.Chat Ermöglicht es der App, Marketplace-Angebote für die Benutzer im Chat und jede zugehörige Besprechung anzuzeigen und ihre Einkäufe innerhalb der App im Namen des angemeldeten Benutzers abzuschließen.
    MeetingStage.Write.Chat Ermöglicht der App das Anzeigen von Inhalten auf der Besprechungsphase in Besprechungen, die dem Chat zugeordnet sind, im Namen des angemeldeten Benutzers.
    OnlineMeetingParticipant.Read.Chat Ermöglicht der App das Lesen von Teilnehmerinformationen, einschließlich Name, Rolle, ID, Beigetretener und verlassener Zeiten, der Besprechung, die dem Chat zugeordnet ist, im Namen des angemeldeten Benutzers.
    OnlineMeetingParticipant.ToggleIncomingAudio.Chat Ermöglicht der App das Umschalten eingehender Audiodaten für Teilnehmer an Besprechungen, die dem Chat zugeordnet sind, im Namen des angemeldeten Benutzers.
    LiveShareSession.ReadWrite.Chat Ermöglicht der App, Live Share-Sitzungen für den Chat zu erstellen und zu synchronisieren und im Namen des angemeldeten Benutzers zugriffsbezogene Informationen wie Name und Rolle, über die Chatliste und alle zugehörigen Besprechungen zu erhalten.
    MeetingParticipantReaction.Read.Chat Ermöglicht der App das Lesen von Reaktionen von Teilnehmern in Besprechungen, die dem Chat zugeordnet sind.
    OnlineMeetingIncomingAudio.Detect.Chat Ermöglicht der App das Erkennen von Änderungen im status eingehender Audiodaten in Besprechungen, die dem Chat zugeordnet sind, im Namen des angemeldeten Benutzers.
    OnlineMeetingActiveSpeaker.Read.Chat Ermöglicht der App das Lesen von Teilnehmern, die Audiodaten an die Besprechungen senden, die dem Chat zugeordnet sind.
    OnlineMeetingAudioVideo.Stream.Chat Ermöglicht der App das Streamen von Audiovideoinhalten von Besprechungen, die dem Chat zugeordnet sind.
  • Delegierte RSC-Berechtigungen für Benutzer

    Name Beschreibung
    CameraStream.Read.User Ermöglicht der App das Lesen des Kameradatenstroms des Benutzers.
    InAppPurchase.Allow.User Ermöglicht es der App, dem Benutzer Angebote auf dem Marktplatz zu zeigen und die Einkäufe des Benutzers innerhalb der App im Namen des angemeldeten Benutzers abzuschließen.
    OutgoingVideoStream.Write.User Ermöglicht der App, das ausgehende Video des Benutzers zu ändern.
    MicrophoneStream.Read.User Ermöglicht der App das Lesen des Mikrofonstreams des Benutzers.
    MeetingParticipantReaction.Read.User Ermöglicht der App, die Reaktionen von Benutzern während der Teilnahme an einer Besprechung zu lesen.

Erweiterungen

Optional – Objekt

Die extensions Eigenschaft gibt Outlook-Add-Ins innerhalb eines App-Manifests an und vereinfacht die Verteilung und den Erwerb im gesamten Microsoft 365-Ökosystem. Jede App unterstützt nur eine Erweiterung.

Name Typ Maximale Größe Erforderlich Beschreibung
requirements Object Gibt die Client- oder Hostanforderungen für die Erweiterung an.
runtimes Array 20 Konfiguriert die Laufzeiten und Aktionen, die von jedem Erweiterungspunkt verwendet werden können. Weitere Informationen finden Sie unter Laufzeiten in Office-Add-Ins.
ribbons Array 20 Definiert den Erweiterungspunkt des Menübands.
autoRunEvents Array 10 Definiert den ereignisbasierten Aktivierungserweiterungspunkt.
alternates Array 10 Gibt die Beziehung zu alternativen vorhandenen Microsoft 365-Lösungen an. Es wird verwendet, um Add-Ins desselben Herausgebers mit überlappender Funktionalität auszublenden oder zu priorisieren.
audienceClaimUrl Zeichenfolge 2048 Zeichen Gibt die URL für Ihre Erweiterung an und wird zum Überprüfen von Exchange-Benutzeridentitätstoken verwendet. Weitere Informationen finden Sie unter Innerhalb des Exchange-Identitätstokens.

Weitere Informationen finden Sie unter Office-Add-Ins-Manifest für Microsoft 365.

extensions.requirements

Das extensions.requirements -Objekt gibt die Bereiche, Formfaktoren und Anforderungssätze der Office JavaScript-Bibliothek an, die auf dem Office-Client unterstützt werden müssen, damit das Add-In installiert werden kann. Anforderungen werden auch für die untergeordneten Eigenschaften "ribbon", "runtime", "alternates" und "autoRunEvents" unterstützt, um selektiv einige Features des Add-Ins herauszufiltern. Weitere Informationen finden Sie unter Angeben von Office-Add-In-Anforderungen im einheitlichen Manifest für Microsoft 365.

Name Typ Maximale Größe Erforderlich Beschreibung
capabilities Array 100 Identifiziert die Anforderungssätze.
capabilities.name Zeichenfolge ✔️ Gibt den Namen des Anforderungssatzes an.
capabilities.minVersion String Gibt die Mindestversion für den Anforderungssatz an.
capabilities.maxVersion String Gibt die maximale Version für den Anforderungssatz an.
scopes Array von Enumerationen 1 Identifiziert die Bereiche, in denen das Add-In ausgeführt werden kann, und definiert die Microsoft 365-Anwendungen, in denen die Erweiterung ausgeführt werden kann. Beispiel mail : (Outlook).
Unterstützter Wert: mail
formFactors Array von Enumerationen Identifiziert die Formfaktoren, die das Add-In unterstützen.
Unterstützte Werte: mobile, desktop

extensions.runtimes

Optional – Array

Das extensions.runtimes Array konfiguriert die Sätze von Laufzeiten und Aktionen, die jeder Erweiterungspunkt verwenden kann.

Name Typ Maximale Größe Erforderlich Beschreibung
id String 64 Zeichen ✔️ Gibt die ID für die Runtime an.
type Zeichenfolgenenumeration ✔️ Gibt den Typ der Laufzeit an. Der unterstützte Enumerationswert für die browserbasierte Runtime ist general.
code Objekt ✔️ Gibt den Speicherort des Codes für die Runtime an. Basierend auf runtime.typekönnen Add-Ins entweder eine JavaScript-Datei oder eine HTML-Seite mit einem eingebetteten script Tag verwenden, das die URL einer JavaScript-Datei angibt. Beide URLs sind in Situationen erforderlich, in denen unsicher runtime.type ist.
code.page Zeichenfolge 2048 Zeichen ✔️ Gibt die URL der Webseite an, die ein eingebettetes script Tag enthält, das die URL einer JavaScript-Datei angibt (die in eine browserbasierte Runtime geladen werden soll).
code.script Zeichenfolge 2048 Zeichen Gibt die URL der JavaScript-Datei an, die in die reine JavaScript-Runtime geladen werden soll.
lifetime Zeichenfolgenenumeration Gibt die Lebensdauer der Laufzeit an. Laufzeiten mit einer short Lebensdauer behalten den Zustand nicht über Alle Ausführungen hinweg bei, während Laufzeiten mit einer long Lebensdauer dies tun. Weitere Informationen finden Sie unter Runtimes in Office-Add-Ins.
Standardwert: short
actions Array 20 Gibt den Satz von Aktionen an, die von der Runtime unterstützt werden. Eine Aktion führt entweder eine JavaScript-Funktion aus oder öffnet eine Ansicht, z. B. einen Aufgabenbereich.
actions.id String 64 Zeichen ✔️ Gibt die ID für die Aktion an, die an die Codedatei übergeben wird.
actions.type Zeichenfolge ✔️ Gibt den Aktionstyp an. Der executeFunction Typ führt eine JavaScript-Funktion aus, ohne darauf zu warten, dass sie abgeschlossen ist, und der openPage Typ öffnet eine Seite in einer bestimmten Ansicht.
actions.displayName String 64 Zeichen Gibt den Anzeigenamen der Aktion an, und es ist nicht die Bezeichnung einer Schaltfläche oder eines Menüelements, die die Aktion aufruft (die mit tabs.groups.controls.labelkonfiguriert ist).
actions.pinnable Boolesch Gibt an, dass ein Aufgabenbereich das Anheften unterstützt, sodass der Aufgabenbereich geöffnet bleibt, wenn der Benutzer die Auswahl ändert.
Standardwert: false
actions.view String 64 Zeichen Gibt die Ansicht an, in der die Seite geöffnet werden muss. Sie wird nur verwendet, wenn actions.type ist openPage.
actions.multiselect Boolesch Gibt an, ob der Endbenutzer mehrere Elemente auswählen kann, z. B. mehrere E-Mail-Nachrichten, und die Aktion auf alle anwenden kann.
Standardwert: false
actions.supportsNoItemContext Boolesch Ermöglicht die Aktivierung von Aufgabenbereich-Add-Ins, ohne dass der Lesebereich aktiviert oder eine Nachricht ausgewählt ist.
Standardwert: false
requirements Objekt Gibt die Bereiche, formFactors und Anforderungssätze der Office JavaScript-Bibliothek an, die auf dem Office-Client unterstützt werden müssen, damit die Runtime in das Add-In eingeschlossen werden kann. Weitere Informationen finden Sie unter Angeben von Office-Add-In-Anforderungen im einheitlichen Manifest für Microsoft 365.
requirements.capabilities Array Identifiziert die Anforderungssätze.
Optionen: name (erforderlich), minVersion, maxVersion
requirements.capabilities.name String ✔️ Gibt den Namen des Anforderungssatzes an.
requirements.capabilities.minVersion Zeichenfolge Gibt die Mindestversion für den Anforderungssatz an.
requirements.capabilities.maxVersion Zeichenfolge Gibt die maximale Version für den Anforderungssatz an.
requirements.scopes Array von Enumerationen 1 Identifiziert die Bereiche, in denen das Add-In ausgeführt werden kann, und definiert die Microsoft 365-Anwendungen, in denen die Erweiterung ausgeführt werden kann. Beispiel mail : (Outlook).
Unterstützter Wert: mail
requirements.formFactors Array von Enumerationen Identifiziert die Formfaktoren, die das Add-In unterstützen.
Unterstützte Werte: mobile, desktop

Informationen zur Verwendung extensions.runtimesvon finden Sie unter Erstellen von Add-In-Befehlen, Konfigurieren der Runtime für einen Aufgabenbereich und Konfigurieren der Laufzeit für den Funktionsbefehl.

extensions.ribbons

Optional – Array

Die extensions.ribbons -Eigenschaft bietet die Möglichkeit, Add-In-Befehle (Schaltflächen und Menüelemente) zum Menüband der Microsoft 365-Anwendung hinzuzufügen. Die Menübanddefinition wird aus dem Array basierend auf den Anforderungen und der ersten Reihenfolge ausgewählt.

Name Typ Maximale Größe Erforderlich Beschreibung
contexts Array 7 Gibt das Microsoft 365-Anwendungsfenster an, in dem die Menübandanpassung für den Benutzer verfügbar ist. Jedes Element im Array ist ein Element eines Zeichenfolgenarrays.
Unterstützte Werte: mailRead, mailCompose, meetingDetailsOrganizer, meetingDetailsAttendee, onlineMeetingDetailsOrganizer, logEventMeetingDetailsAttendeedefault
requirements Objekt Gibt die Bereiche, formFactors und Office JavaScript Library-Anforderungssätze an, die auf dem Office-Client unterstützt werden müssen, damit die Menübandanpassung angezeigt wird. Weitere Informationen finden Sie unter Angeben von Office-Add-In-Anforderungen im einheitlichen Manifest für Microsoft 365.
requirements.capabilities Array Identifiziert die Anforderungssätze.
Optionen: name (erforderlich), minVersion, maxVersion
requirements.capabilities.name String ✔️ Gibt den Namen des Anforderungssatzes an.
requirements.capabilities.minVersion Zeichenfolge Gibt die Mindestversion für den Anforderungssatz an.
requirements.capabilities.maxVersion Zeichenfolge Gibt die maximale Version für den Anforderungssatz an.
requirements.scopes Array von Enumerationen 1 Identifiziert die Bereiche, in denen das Add-In ausgeführt werden kann, und definiert die Microsoft 365-Anwendungen, in denen die Erweiterung ausgeführt werden kann. Beispiel mail : (Outlook).
Unterstützter Wert: mail
requirements.formFactors Array von Enumerationen Identifiziert die Formfaktoren, die das Add-In unterstützen.
Unterstützte Werte: mobile, desktop
tabs Array 20 ✔️ Konfiguriert die benutzerdefinierten Registerkarten im Menüband der Microsoft 365-Anwendung.
tabs.id String 64 Zeichen Gibt die ID für die Registerkarte in der App an.
tabs.builtInTabId String 64 Zeichen Gibt die ID einer integrierten Registerkarte des Office-Menübands an. Weitere Informationen zu möglichen Werten finden Sie unter Suchen der IDs der integrierten Registerkarten des Office-Menübands. Die einzigen anderen untergeordneten Eigenschaften des Tab-Objekts, die mit diesem kombiniert werden können, sind groups und customMobileRibbonGroups.
tabs.label String 64 Zeichen Gibt den Text an, der für die Registerkarte angezeigt wird. Trotz der maximalen Länge von 64 Zeichen empfiehlt es sich, die Bezeichnung auf 16 Zeichen zu beschränken, um die Registerkarte im Menüband ordnungsgemäß auszurichten.
tabs.position Objekt Konfiguriert die Position der benutzerdefinierten Registerkarte relativ zu anderen Registerkarten im Menüband.
tabs.position.builtInTabId String 64 Zeichen ✔️ Gibt die ID der integrierten Registerkarte an, neben der die benutzerdefinierte Registerkarte positioniert werden soll. Weitere Informationen finden Sie unter Suchen der IDs von Steuerelementen und Steuerelementgruppen.
tabs.position.align Zeichenfolgenenumeration ✔️ Definiert die Ausrichtung der benutzerdefinierten Registerkarte relativ zur angegebenen integrierten Registerkarte.
Unterstützte Werte: after, before
tabs.groups Array 10 Definiert Gruppen von Steuerelementen auf einer Registerkarte des Menübands auf einem nicht mobilen Gerät. Informationen zu mobilen Geräten finden Sie unter tabs.customMobileRibbonGroups.
tabs.groups.id String 64 Zeichen Gibt die ID für die Registerkartengruppe innerhalb der App an. Sie muss sich von jeder integrierten Gruppen-ID in der Microsoft 365-Anwendung und jeder anderen benutzerdefinierten Gruppe unterscheiden.
tabs.groups.label String 64 Zeichen Gibt den text an, der für die Gruppe angezeigt wird. Trotz der maximalen Länge von 64 Zeichen empfiehlt es sich, die Bezeichnung auf 16 Zeichen zu beschränken, um die Registerkarte im Menüband ordnungsgemäß auszurichten.
tabs.groups.icons Array 3 Gibt die Symbole an, die für die Gruppe angezeigt werden.
tabs.groups.icons.size Zahl ✔️ Gibt die Größe des Symbols in Pixeln an, das als 16,,,,2432,40,48,,6480 aufgezählt20 wird.
Erforderliche Imagegrößen: 16, 32, 80.
tabs.groups.icons.url Zeichenfolge 2048 Zeichen ✔️ Gibt die absolute URL des Symbols an.
tabs.groups.controls Array Konfiguriert die Schaltflächen und Menüs in der Gruppe.
tabs.groups.controls.id String 64 Zeichen ✔️ Gibt die ID für das Steuerelement innerhalb der App an. Sie muss sich von jeder integrierten Steuerelement-ID in der Microsoft 365-Anwendung und jedem anderen benutzerdefinierten Steuerelement unterscheiden.
tabs.groups.controls.items Array Konfiguriert die Elemente für ein Menüsteuerelement.
tabs.groups.controls.items.id Zeichenfolge ✔️ Gibt die ID für ein Menüelement an.
tabs.groups.controls.items.type Zeichenfolgenenumeration ✔️ Definiert den Steuerelementtyp des Menüelements.
Unterstützte Werte: button
tabs.groups.controls.items.label String 64 Zeichen ✔️ Gibt den text an, der für das Menüelement angezeigt wird.
tabs.groups.controls.items.icons Array Konfiguriert die Symbole für das Menüelement.
tabs.groups.controls.items.icons.size Zahl ✔️ Gibt die Größe des Symbols in Pixeln an, das als 16,,,,2432,40,48,,6480 aufgezählt20 wird.
Erforderliche Imagegrößen: 16, 32, 80.
tabs.groups.controls.items.icons.url URL ✔️ Gibt die absolute URL des Symbols an.
tabs.groups.controls.items.supertip ✔️ Konfiguriert einen Supertip für das Menüelement. Ein Supertip ist ein Benutzeroberflächenfeature, das ein kurzes Feld mit Hilfeinformationen zu einem Steuerelement anzeigt, wenn der Cursor darauf zeigt. Das Feld kann mehrere Textzeilen enthalten.
tabs.groups.controls.items.supertip.title String 64 Zeichen ✔️ Gibt den Titeltext des Supertips an.
tabs.groups.controls.items.supertip.description Zeichenfolge 128 Zeichen ✔️ Gibt die Beschreibung des Supertips an.
tabs.groups.controls.items.actionId String 64 Zeichen ✔️ Gibt die ID der Aktion an, die ausgeführt wird, wenn ein Benutzer das Steuerelement oder das Menüelement auswählt. Die actionId muss mit einem runtimes.actions.id Eigenschaftswert übereinstimmen.
tabs.groups.controls.items.enabled Boolesch Gibt an, ob das Menüelement anfänglich aktiviert ist.
Standardwert: true
tabs.groups.controls.items.overriddenByRibbonApi Boolesch Gibt an, ob das Menüelement in Anwendungs- und Plattformkombinationen ausgeblendet wird, die die API (Office.ribbon.requestCreateControls) unterstützen. Diese API installiert benutzerdefinierte kontextbezogene Registerkarten auf dem Menüband.
Standardwert: false
tabs.groups.controls.type Zeichenfolge ✔️ Definiert den Steuerelementtyp.
Unterstützte Werte: button, menu
tabs.groups.controls.builtInControlId String 64 Zeichen ✔️ Gibt die ID eines vorhandenen Microsoft 365-Steuerelements an. Weitere Informationen finden Sie unter Suchen der IDs von Steuerelementen und Steuerelementgruppen. Diese Eigenschaft kann nicht mit anderen untergeordneten Eigenschaften des Steuerelementobjekts kombiniert werden, da integrierte Steuerelemente nicht von einem Add-In angepasst werden können.
tabs.groups.controls.label String 64 Zeichen ✔️ Gibt den für das Steuerelement angezeigten Text an. Trotz der maximalen Länge von 64 Zeichen empfiehlt es sich, die Bezeichnung auf 16 Zeichen zu beschränken, um die Registerkarte im Menüband ordnungsgemäß auszurichten.
tabs.groups.controls.icons Array ✔️ Definiert die Symbole für das Steuerelement. Es müssen mindestens drei untergeordnete Objekte vorhanden sein; eine mit size jeweils den Eigenschaften 16, 32und 80 Pixeln.
tabs.groups.controls.icons.size Zahl ✔️ Gibt die Größe des Symbols in Pixeln an, das als 16,,,,2432,40,48,,6480 aufgezählt20 wird.
Erforderliche Imagegrößen: 16, 32, 80
tabs.groups.controls.icons.url URL Gibt die absolute URL zur Symboldatei an.
tabs.groups.controls.supertip Objekt ✔️ Konfiguriert einen Supertip für das Steuerelement. Ein Supertip ist ein Benutzeroberflächenfeature, das ein kurzes Feld mit Hilfeinformationen zu einem Steuerelement anzeigt, wenn der Cursor darauf zeigt. Das Feld kann mehrere Textzeilen enthalten.
tabs.groups.controls.supertip.title String 64 Zeichen ✔️ Gibt den Titeltext des Supertips an.
tabs.groups.controls.supertip.description Zeichenfolge 128 Zeichen ✔️ Gibt die Beschreibung des Supertips an.
tabs.groups.controls.actionId String 64 Zeichen Erforderlich, wenn der Steuerelementtyp ist button. Verwenden Sie nicht, wenn der Steuerelementtyp ist menu. Gibt die ID der Aktion an, die ausgeführt wird, wenn ein Benutzer das Steuerelement auswählt. Der actionId muss mit der runtime.actions.id -Eigenschaft einer Aktion im runtimes -Objekt übereinstimmen.
tabs.groups.controls.enabled Boolesch Gibt an, ob das Steuerelement anfänglich aktiviert ist.
Standardwert: true
tabs.groups.controls.overriddenByRibbonApi Boolesch Gibt an, ob das Steuerelement in Anwendungs- und Plattformkombinationen ausgeblendet wird, die die API (Office.ribbon.requestCreateControls) unterstützen. Diese API installiert benutzerdefinierte kontextbezogene Registerkarten auf dem Menüband.
Standardwert: false
tabs.groups.builtInGroupId String 64 Zeichen Gibt die ID einer integrierten Gruppe an. Weitere Informationen finden Sie unter Suchen der IDs von Steuerelementen und Steuerelementgruppen. Diese Eigenschaft kann nicht mit anderen untergeordneten Eigenschaften des Gruppenobjekts kombiniert werden, da integrierte Gruppen nicht durch ein Add-In angepasst werden können.
tabs.customMobileRibbonGroups Array 10 Definiert Gruppen von Steuerelementen auf der Standardregisterkarte des Menübands auf einem mobilen Gerät. Diese Arrayeigenschaft kann nur auf Registerkartenobjekten vorhanden sein, die über eine tabs.builtInTabId -Eigenschaft verfügen, die auf DefaultTabfestgelegt ist. Für nicht mobile Geräte siehe tabs.groups oben.
tabs.customMobileRibbonGroups.id Zeichenfolge 250 Zeichen ✔️ Gibt die ID der Gruppe an. Sie muss sich von jeder integrierten Gruppen-ID in der Microsoft 365-Anwendung und jeder anderen benutzerdefinierten Gruppe unterscheiden.
tabs.customMobileRibbonGroups.label Zeichenfolge 32 Zeichen ✔️ Gibt die Bezeichnung für die Gruppe an.
tabs.customMobileRibbonGroups.controls Array 20 ✔️ Definiert die Steuerelemente in der Gruppe. Es werden nur mobile Schaltflächen unterstützt.
tabs.customMobileRibbonGroups.controls.id Zeichenfolge 250 Zeichen ✔️ Gibt die ID des Steuerelements an, z msgReadFunctionButton. B. .
tabs.customMobileRibbonGroups.controls.type Zeichenfolgenenumeration ✔️ Gibt den Typ des Steuerelements an.
Unterstützter Wert: MobileButton
tabs.customMobileRibbonGroups.controls.label Zeichenfolge 32 Zeichen ✔️ Gibt die Bezeichnung des Steuerelements an.
tabs.customMobileRibbonGroups.controls.actionId String 64 Zeichen ✔️ Gibt die ID der Aktion an, die ausgeführt wird, wenn ein Benutzer das Steuerelement auswählt. Der actionId muss mit der runtime.actions.id -Eigenschaft einer Aktion im runtimes -Objekt übereinstimmen.
tabs.customMobileRibbonGroups.controls.icons Array 9 ✔️ Gibt die Symbole an, die abhängig von den Abmessungen und dpi des Bildschirms des mobilen Geräts auf dem Steuerelement angezeigt werden. Es müssen genau 9 Symbole vorhanden sein.
tabs.customMobileRibbonGroups.controls.icons.size Zahlenenumerung ✔️ Größe des Symbols in Pixel. Die erforderlichen Größen sind 25, 32 und 48. Für jeden möglichen Wert der Symboleigenschaft scale muss genau eine größe vorhanden sein.
tabs.customMobileRibbonGroups.controls.icons.url Zeichenfolge 2048 Zeichen ✔️ Die vollständige, absolute URL der Bilddatei des Symbols.
tabs.customMobileRibbonGroups.controls.icons.scale Zahlenenumerung ✔️ Gibt die UIScreen.scale-Eigenschaft für iOS-Geräte an. Die möglichen Werte sind 1, 2 und 3. Für jeden möglichen Wert der Eigenschaft der Symbole size muss genau ein Wert vorhanden sein.

Informationen zur Verwendung extensions.ribbonsvon finden Sie unter Erstellen von Add-In-Befehlen, Konfigurieren der Benutzeroberfläche für den Aufgabenbereichbefehl und Konfigurieren der Benutzeroberfläche für den Funktionsbefehl.

extensions.autoRunEvents

Optional – Array

Die extensions.autoRunEvents -Eigenschaft definiert ereignisbasierte Aktivierungserweiterungspunkte.

Name Typ Maximale Größe Erforderlich Beschreibung
events Array 20 ✔️ Konfiguriert das Ereignis, das bewirkt, dass Aktionen in einem Outlook-Add-In automatisch ausgeführt werden. Weitere Informationen finden Sie beispielsweise unter Verwenden intelligenter Warnungen und der OnMessageSend Ereignisse und OnAppointmentSend in Ihren Outlook-Add-Ins.
events.type String 64 Zeichen ✔️ Gibt den Ereignistyp an. Informationen zu unterstützten Typen finden Sie unter Unterstützte Ereignisse.
events.actionId String 64 Zeichen ✔️ Identifiziert die Aktion, die ausgeführt wird, wenn das Ereignis ausgelöst wird. Die actionId muss mit runtime.actions.idübereinstimmen.
events.options Objekt Konfiguriert, wie Outlook auf das Ereignis reagiert.
events.options.sendMode Zeichenfolge ✔️ Gibt die Aktionen an, die während einer E-Mail-Sendeaktion ausgeführt werden sollen.
Unterstützte Werte: promptUser, softBlock, block. Weitere Informationen finden Sie unter Verfügbare Sendemodusoptionen.
requirements Objekt Gibt die Bereiche, formFactors und Anforderungssätze der Office JavaScript-Bibliothek an, die auf dem Office-Client unterstützt werden müssen, damit der Ereignisbehandlungscode ausgeführt werden kann. Weitere Informationen finden Sie unter Angeben von Office-Add-In-Anforderungen im einheitlichen Manifest für Microsoft 365.
requirements.capabilities Array Identifiziert die Anforderungssätze.
Optionen: name (erforderlich), minVersion, maxVersion
requirements.capabilities.name Zeichenfolge ✔️ Gibt den Namen des Anforderungssatzes an.
requirements.capabilities.minVersion Zeichenfolge Gibt die Mindestversion für den Anforderungssatz an.
requirements.capabilities.maxVersion Zeichenfolge Gibt die maximale Version für den Anforderungssatz an.
requirements.scopes Array von Enumerationen 1 Identifiziert die Bereiche, in denen das Add-In ausgeführt werden kann, und definiert die Microsoft 365-Anwendungen, in denen die Erweiterung ausgeführt werden kann. Beispiel mail : (Outlook).
Unterstützter Wert: mail
requirements.formFactors Array von Enumerationen Identifiziert die Formfaktoren, die das Add-In unterstützen.
Unterstützte Werte: mobile, desktop

extensions.alternates

Optional – Array

Die extensions.alternates -Eigenschaft wird verwendet, um bestimmte marktinterne Add-Ins auszublenden oder zu priorisieren, wenn Sie mehrere Add-Ins mit überlappenden Funktionen veröffentlicht haben.

Name Typ Maximale Größe Erforderlich Beschreibung
prefer Object Gibt die Abwärtskompatibilität mit einem entsprechenden COM-Add-In, XLL-Add-In oder beidem an.
prefer.comAddin Objekt Gibt ein COM-Add-In an, das anstelle des Microsoft 365-Web-Add-Ins für Windows verwendet werden muss.
prefer.comAddin.progId String 64 Zeichen ✔️ Gibt den Anwendungstyp an, in dem die Erweiterung ausgeführt werden kann.
hide Objekt Konfiguriert, wie ein anderes Add-In ausgeblendet wird, das Sie bei jeder Installation des Add-Ins veröffentlicht haben, damit Benutzer nicht beides auf der Microsoft 365-Benutzeroberfläche sehen. Verwenden Sie diese Eigenschaft beispielsweise, wenn Sie zuvor ein Add-In veröffentlicht haben, das das alte XML-App-Manifest verwendet, und Sie es durch eine Version ersetzen, die das neue JSON-App-Manifest verwendet.
hide.storeOfficeAddin Objekt Gibt ein in Microsoft AppSource verfügbares Microsoft 365-Add-In an.
hide.storeOfficeAddin.officeAddinId String 64 Zeichen ✔️ Gibt die ID des auszublendenden Add-Ins im Markt an. Die GUID stammt aus der App-Manifesteigenschaft id , wenn das marktinterne Add-In das JSON-App-Manifest verwendet. Die GUID wird aus dem <Id> -Element übernommen, wenn das marktinterne Add-In das XML-App-Manifest verwendet.
hide.storeOfficeAddin.assetId String 64 Zeichen ✔️ Gibt die AppSource-Ressourcen-ID des im Markt befindlichen Add-Ins an, das ausgeblendet werden soll.
hide.customOfficeAddin Objekt Konfiguriert das Ausblenden eines marktinternen Add-Ins, das nicht über AppSource verteilt wird.
hide.customOfficeAddin.officeAddinId String 64 Zeichen ✔️ Gibt die ID des auszublendenden Add-Ins im Markt an. Die GUID stammt aus der App-Manifesteigenschaft id , wenn das marktinterne Add-In das JSON-App-Manifest verwendet. Die GUID wird aus dem <Id> -Element übernommen, wenn das marktinterne Add-In das XML-App-Manifest verwendet.
requirements Objekt Gibt die Bereiche, formFactors und Office JavaScript Library-Anforderungssätze an, die auf dem Office-Client unterstützt werden müssen, damit die Eigenschaften "hide", "prefer" oder "alternateIcons" wirksam werden. Weitere Informationen finden Sie unter Angeben von Office-Add-In-Anforderungen im einheitlichen Manifest für Microsoft 365.
requirements.capabilities Array Identifiziert die Anforderungssätze.
Optionen: name (erforderlich), minVersion, maxVersion
requirements.capabilities.name Zeichenfolge ✔️ Gibt den Namen des Anforderungssatzes an.
requirements.capabilities.minVersion Zeichenfolge Gibt die Mindestversion für den Anforderungssatz an.
requirements.capabilities.maxVersion Zeichenfolge Gibt die maximale Version für den Anforderungssatz an.
requirements.scopes Array von Enumerationen 1 Identifiziert die Bereiche, in denen das Add-In ausgeführt werden kann, und definiert die Microsoft 365-Anwendungen, in denen die Erweiterung ausgeführt werden kann. Beispiel mail : (Outlook).
Unterstützter Wert: mail
requirements.formFactors Array von Enumerationen Identifiziert die Formfaktoren, die das Add-In unterstützen.
Unterstützte Werte: mobile, desktop
alternateIcons Objekt Gibt die Standard Symbole an, die verwendet werden, um das Add-In in älteren Versionen von Office darzustellen. Diese Eigenschaft ist erforderlich , wenn das Office-Add-In in Office auf Mac, unbefristeten Office-Lizenzen und Microsoft 365-Abonnementversionen von Office unter Windows vor 2304 (Build 16320.00000) installiert werden kann.
alternateIcons.icon Objekt ✔️ Gibt die Eigenschaften der Bilddatei an, die zum Darstellen des Add-Ins verwendet wird.
alternateIcons.icon.size Zahlenenumerung ✔️ Gibt die Größe des Symbols in Pixeln an, das als 16,,,,2432,40,48,,6480 aufgezählt20 wird.
Erforderliche Imagegrößen: 16, 32, 80.
alternateIcons.icon.url Zeichenfolge 2048 Zeichen ✔️ Gibt die vollständige, absolute URL der Bilddatei an, die zum Darstellen des Add-Ins verwendet wird. Das Symbolbild muss 64 x 64 Pixel groß sein und eines der folgenden Dateiformate verwenden: GIF, JPG, PNG, EXIF, BMP, TIFF.
alternateIcons.highResolutionIcon Objekt ✔️ Gibt die Eigenschaften der Bilddatei an, die verwendet wird, um das Add-In auf Bildschirmen mit hohem DPI-Wert darzustellen.
alternateIcons.highResolutionIcon.size Zahlenenumerung ✔️ Gibt die Größe des Symbols in Pixeln an, das als 16,,,,2432,40,48,,6480 aufgezählt20 wird.
Erforderliche Imagegrößen: 16, 32, 80.
alternateIcons.highResolutionIcon.url Zeichenfolge 2048 Zeichen ✔️ Gibt die vollständige, absolute URL der Bilddatei an, die verwendet wird, um das Add-In auf Bildschirmen mit hohem DPI-Wert darzustellen. Das Symbolbild muss 128 x 128 Pixel groß sein und eines der folgenden Dateiformate verwenden: GIF, JPG, PNG, EXIF, BMP, TIFF.

dashboardCards

Optional – Array

Definiert eine Liste von Karten, die an eine Dashboard angeheftet werden können, z. B. Microsoft Viva Connections, um eine zusammengefasste Ansicht von App-Informationen bereitzustellen. Weitere Informationen zum Erstellen von Karten für Viva Connections Dashboard finden Sie unter Übersicht über botgestützte Erweiterungen für adaptive Karten.

Dieses Element ist ein Array von dashboardCard Elementen des Typs object.

dashboardCards.dashboardCard

Definiert eine einzelne Dashboard Karte und deren Eigenschaften.

Name Typ Maximale Größe Erforderlich Beschreibung
id String ✔️ Ein eindeutiger Bezeichner für diesen Dashboard Karte. ID muss eine GUID sein.
displayName Zeichenfolge 255 Zeichen ✔️ Anzeigename des Karte.
description String 255 Zeichen ✔️ Beschreibung des Karte.
pickerGroupId Zeichenfolge ✔️ ID der Gruppe in der Karte-Auswahl. ID muss eine GUID sein.
icon Objekt Gibt das Symbol für die Karte an.
contentSource Objekt ✔️ Gibt die Quelle des Inhalts des Karte an
defaultSize Zeichenfolge ✔️ Renderinggröße für die Dashboard Karte. Optionen: medium oder large.

dashboardCards.dashboardCard.icon

Definiert die Symboleigenschaften eines bestimmten Dashboard Karte.

Name Typ Maximale Größe Erforderlich Beschreibung
iconUrl Zeichenfolge 2048 Zeichen Position des Symbols für die Karte, die in der Toolbox und Karte angezeigt werden soll.
officeUIFabricIconName String 255 Zeichen Der Anzeigename des Office UI Fabric- oder Fluent-UI-Symbols für die Karte. Dieser Wert wird verwendet, wenn iconUrl nicht angegeben ist.

dashboardCards.dashboardCard.contentSource

Definiert die Inhaltsquelle einer bestimmten Dashboard Karte.

Name Typ Maximale Größe Erforderlich Beschreibung
sourceType Zeichenfolge Stellt die Quelle des Inhalts eines Karte dar. Option: bot.
botConfiguration Objekt Die Konfiguration für die Botquelle. Erforderlich, wenn auf sourceType festgelegt botist.

dashboardCards.dashboardCard.contentSource.botConfiguration

Name Typ Maximale Größe Erforderlich Beschreibung
botId Zeichenfolge Die eindeutige Microsoft-App-ID für den Bot, wie bei Bot Framework registriert. ID muss eine GUID sein.

Erstellen einer App-Manifestdatei

Wenn Ihre App über keine App-Manifestdatei verfügt, müssen Sie sie erstellen.

So erstellen Sie eine App-Manifestdatei:

  1. Verwenden Sie das Beispielschema des App-Manifests , um eine .json-Datei zu erstellen.
  2. Speichern Sie diese im Stammverzeichnis Ihres Projektordners als manifest.json.

Hier sehen Sie ein Beispiel für das App-Manifestschema für eine Registerkarten-App mit aktiviertem SSO:

Hinweis

Der hier gezeigte App-Manifestbeispielinhalt gilt nur für eine Registerkarten-App. Es werden Beispielwerte für den Unterdomänen-URI verwendet. Weitere Informationen finden Sie unter Beispiel für das App-Manifestschema.

{ 
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json", 
"manifestVersion": "1.12", 
"version": "1.0.0", 
"id": "{new GUID for this Teams app - not the Microsoft Entra App ID}", 
"developer": { 
"name": "Microsoft", 
"websiteUrl": "https://www.microsoft.com", 
"privacyUrl": "https://www.microsoft.com/privacy", 
"termsOfUseUrl": "https://www.microsoft.com/termsofuse" 
}, 

"name": { 
  "short": "Teams Auth SSO", 
  "full": "Teams Auth SSO" 
}, 


"description": { 
  "short": "Teams Auth SSO app", 
  "full": "The Teams Auth SSO app" 
}, 

"icons": { 
  "outline": "outline.png", 
  "color": "color.png" 
}, 

"accentColor": "#60A18E", 
"staticTabs": [ 
  { 
   "entityId": "auth", 
   "name": "Auth", 
   "contentUrl": "https://subdomain.example.com/Home/Index", 
   "scopes": [ "personal" ] 
  } 
], 

"configurableTabs": [ 
  { 
   "configurationUrl": "https://subdomain.example.com/Home/Configure", 
   "canUpdateConfiguration": true, 
   "scopes": [ 
   "team" 
    ] 
  } 
], 
"permissions": [ "identity", "messageTeamMembers" ], 
"validDomains": [ 
 "{subdomain or ngrok url}" 
], 
"webApplicationInfo": { 
  "id": "{Microsoft Entra AppId}", 
  "resource": "api://subdomain.example.com/{Microsoft Entra AppId}" 
}
} 

Siehe auch