Schéma de manifeste d’application

Le manifeste de l’application (précédemment appelé manifeste d’application Teams) décrit comment votre application s’intègre au produit Microsoft Teams. Votre manifeste d’application doit être conforme au schéma hébergé sur https://developer.microsoft.com/json-schemas/teams/v1.17/MicrosoftTeams.schema.json . Les versions précédentes 1.0, 1.1,...,1.16 et la version actuelle 1.17 sont prises en charge (en utilisant « v1.x » dans l’URL). Pour plus d’informations sur les modifications apportées dans chaque version, consultez journal des modifications du manifeste d’application et pour les versions précédentes, consultez Versions du manifeste d’application.

Le tableau suivant répertorie les versions teamsJS et les versions du manifeste d’application en fonction des différents scénarios d’application :

Type d’application Version de TeamsJS Version du manifeste de l’application Étapes suivantes
Applications Teams étendues dans Outlook et Microsoft 365 TeamsJS v.2.19.0 ou version ultérieure v.1.13 ou version ultérieure Étendre une application Teams pour l’exécuter sur Microsoft 365 ou Créer une application Microsoft 365
Applications Teams uniquement existantes Mettre à jour vers TeamsJS v.2.19.0 si possible (v.1.12 est toujours pris en charge*) 1.12 Comprendre la compatibilité descendante de TeamsJS et Mise à jour vers TeamsJS v.2.0
Nouvelles applications Teams uniquement TeamsJS v.2.19.0 ou version ultérieure 1.12 Créer une application Teams à l’aide du kit de ressources Teams

*Utilisez la dernière version de TeamsJS (v.2.19.0 ou ultérieure) chaque fois que possible, pour tirer parti des dernières améliorations et de la prise en charge des nouvelles fonctionnalités, y compris les applications Teams uniquement. TeamsJS v.1.12 continue d’être pris en charge, mais aucune nouvelle fonctionnalité ou amélioration ne sera ajoutée. Les schémas 1.12 et 1.13 sont sinon les mêmes. Pour plus d’informations, consultez Bibliothèque TeamsJS.

Remarque

Si votre application Teams utilise le manifeste d’application version 1.13 ou ultérieure, assurez-vous que votre application répond aux critères permettant d’étendre l’exécution de votre application dans Microsoft 365 ou Outlook.

Voici l’exemple de schéma de manifeste d’application :

Exemple de manifeste d’application

{
    "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.16/MicrosoftTeams.schema.json",
    "manifestVersion": "1.17",
    "version": "1.0.0",
    "id": "%MICROSOFT-APP-ID%",
    "localizationInfo": {
        "defaultLanguageTag": "en-us",
        "additionalLanguages": [
            {
                "languageTag": "es-es",
                "file": "en-us.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.",
    "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://website.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
            }
        ]
    }
}

Le schéma définit les propriétés suivantes :

$schema

Facultatif, mais recommandé – Chaîne

URL https:// référençant le schéma JSON pour le manifeste de l’application.

manifestVersion

Obligatoire – Chaîne

Version du schéma de manifeste d’application que ce manifeste utilise. Utilisez 1.13 pour activer la prise en charge des applications Teams dans Outlook et l’application Microsoft 365 ; utilisez 1.12 (ou une version antérieure) pour les applications Teams uniquement.

version

Obligatoire – Chaîne

Version d’une application spécifique. Lorsque vous mettez à jour un élément dans le manifeste de votre application, la version doit également être incrémentée. De cette façon, lorsque le nouveau manifeste d’application est installé, il remplace l’existant et l’utilisateur reçoit la nouvelle fonctionnalité. Lorsque cette application a été soumise au Microsoft Teams Store, le nouveau manifeste d’application doit être soumis à nouveau et revalidé. Les utilisateurs de l’application reçoivent automatiquement le nouveau manifeste d’application mis à jour dans les heures qui suivent l’approbation du manifeste de l’application.

Si l’application demande le changement des autorisations, les utilisateurs sont invités à mettre à niveau et à se réinscrire à l’application.

Cette chaîne de version doit suivre la norme de semver (MAJOR. MINOR. PATCH).

Remarque

Si votre application inclut un complément Office, chaque segment de la chaîne de version est limité à un maximum de cinq chiffres. Les extensions de chaîne de version préliminaire et de version de métadonnées de la norme semver ne sont pas prises en charge.

ID

Obligatoire : ID d’application Microsoft

L’ID est un identificateur unique généré par Microsoft pour l’application. Le format de l’ID est GUID. Vous avez un ID si votre bot est inscrit via le Microsoft Bot Framework. Vous avez un ID si l’application web de votre onglet se signe déjà avec Microsoft. Vous devez entrer l’ID ici. Sinon, vous devez générer un nouvel ID sur le portail d’inscription des applications Microsoft. Utilisez le même ID si vous ajoutez un bot.

L’ID stocké dans Teams Administration Center est l’ID d’application externe et il est visible en tant qu’ExternalID sur les traces.

Remarque

Si vous envoyez une mise à jour à votre application existante dans AppSource, l’ID dans le manifeste de votre application ne doit pas être modifié.

developer

Obligatoire – Objet

Spécifie des informations sur votre entreprise. Pour les applications soumises au Magasin Teams, ces valeurs doivent correspondre aux informations contenues dans votre description dans le Magasin Teams. Pour plus d’informations, consultez les instructions de publication du Magasin Teams. Le nom du développeur permet d’améliorer la détectabilité de votre application dans le Magasin Teams.

Nom Taille maximale Requis Description
name 32 caractères ✔️ Nom complet du développeur.
websiteUrl 2 048 caractères ✔️ L’URL https:// du site web du développeur. Ce lien doit conduire les utilisateurs vers votre entreprise ou la page d’accueil spécifique au produit.
privacyUrl 2 048 caractères ✔️ L’URL https:// vers la politique de confidentialité du développeur.
termsOfUseUrl 2 048 caractères ✔️ L’URL https:// vers les conditions d’utilisation du développeur.
mpnId 10 caractères Facultatif L’ID Microsoft Partner Network qui identifie l’organisation partenaire qui construit l’application.

nom

Obligatoire – Objet

Nom de l’expérience de votre application, affiché à destination des utilisateurs dans l’expérience Teams. Pour les applications soumises à AppSource, ces valeurs doivent correspondre aux informations de votre entrée AppSource. Les valeurs de short et full doivent être différentes. Le nom de l’application permet d’améliorer la détectabilité de votre application dans le Magasin Teams.

Nom Taille maximale Requis Description
short 30 caractères ✔️ Nom d’affichage court de l’application.
full 100 caractères ✔️ Le nom complet de l’application, utilisé si le nom complet de l’application dépasse 30 caractères.

description

Obligatoire – Objet

Décrit votre application aux utilisateurs. Pour les applications soumises à AppSource, ces valeurs doivent correspondre aux informations de votre entrée AppSource. La description de l’application permet d’améliorer la détectabilité de votre application dans le Magasin Teams.

Assurez-vous que votre description décrive votre expérience et aide les clients potentiels à comprendre ce que fait votre expérience. Vous devez le noter dans la description complète, si un compte externe est requis pour être utilisé. Les valeurs de short et full doivent être différentes. Votre brève description ne peut pas être répétée dans la description longue et ne doit pas inclure d’autre nom d’application.

Nom Taille maximale Requis Description
short 80 caractères ✔️ Brève description de l’expérience de votre application, utilisée lorsque l’espace est limité.
full 4 000 caractères ✔️ Description complète de votre application.

localizationInfo

Facultatif : objet

Autorise la spécification d’une langue par défaut et fournit des pointeurs vers d’autres fichiers de langue. Pour plus d’informations, voir localisation.

Nom Taille maximale Requis Description
defaultLanguageTag ✔️ Balise de langue des chaînes dans ce fichier manifeste d’application de niveau supérieur.

localizationInfo.additionalLanguages

Tableau d’objets spécifiant davantage de traductions linguistiques.

Nom Taille maximale Requis Description
languageTag ✔️ Balise de langue des chaînes dans le fichier fourni.
file 2 048 caractères ✔️ Chemin d’accès relatif au fichier .json contenant les chaînes traduites.

icons

Obligatoire – Objet

Icônes utilisées dans l’application Teams. Les fichiers d’icône doivent être inclus dans le package de chargement. Pour plus d’informations, voir Icônes.

Nom Taille maximale Requis Description
outline 32 x 32 pixels ✔️ Chemin d’accès relatif à un plan PNG transparent 32 x 32. La couleur de bordure doit être blanche.
color 192 x 192 pixels ✔️ Chemin d’accès relatif à une icône PNG couleur 192 x 192.

accentColor

Obligatoire : code de couleur HTML Hexadécimal

Couleur à utiliser et comme arrière-plan pour vos icônes de couleur.

La valeur doit être un code de couleur HTML valide commençant par « # » par exemple #4464ee. Pour plus d’informations, consultez accentColor.

configurableTabs

Facultatif – Tableau

Utilisé lorsque votre expérience d’application a une expérience d’onglet de canal d’équipe qui nécessite une configuration supplémentaire avant d’être ajoutée. Les onglets configurables sont pris en charge uniquement dans les étendues team et groupChat vous pouvez configurer les mêmes onglets plusieurs fois. Toutefois, vous ne pouvez le définir dans le manifeste de l’application qu’une seule fois.

Nom Type Taille maximale Requis Description
configurationUrl Chaîne 2 048 caractères ✔️ L’URL https:// à utiliser lors de la configuration de l’onglet.
scopes Tableau d’énumérations 2 ✔️ Actuellement, les onglets configurables ne prennent en charge que les étendues team et groupChat.
canUpdateConfiguration Boolean Valeur indiquant si une instance de la configuration de l’onglet peut être mise à jour par l’utilisateur après sa création. Valeur par défaut : true.
meetingSurfaces Tableau d’énumérations 2 L’ensemble des meetingSurfaceItem étendues où un onglet est pris en charge. Par défaut : [sidepanel, stage].
context Tableau d’énumérations 8 L’ensemble des contextItem étendues où un onglet est pris en charge. Valeur acceptée : [personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab, meetingSidePanel, meetingStage].
sharePointPreviewImage Chaîne 2048 Chemin d’accès relatif à une image d’aperçu d’onglet à utiliser dans SharePoint. Taille 1024 x 768.
supportedSharePointHosts Tableau d’énumérations 2 Définit la façon dont votre onglet est mis à disposition dans SharePoint. Les options sont sharePointFullPage et sharePointWebPart.

staticTabs

Facultatif – Tableau

Définit un ensemble d’onglets qui peuvent être épinglés par défaut, sans que l’utilisateur les ajoute manuellement. Les onglets statiques déclarés dans personal l’étendue sont toujours épinglés à l’expérience personnelle de l’application.

Cet élément est un tableau (maximum de 16 éléments) avec tous les éléments du type object. Ce bloc est requis uniquement pour les solutions qui fournissent une solution d’onglet statique.

Nom Type Taille maximale Requis Description
entityId String 64 caractères ✔️ Identificateur unique de l’entité affichée par l’onglet.
name Chaîne 128 caractères Nom complet de l’onglet.
contentUrl Chaîne 2 048 caractères L’URL https:// qui pointe vers l’interface utilisateur de l’entité à afficher dans la zone de canevas de Teams.
contentBotId Chaîne 128 caractères ID d’application Microsoft spécifié pour le bot dans le portail Bot Framework.
websiteUrl Chaîne 2 048 caractères L’URL https:// pointant vers si un utilisateur choisit de l’afficher dans un navigateur.
searchUrl Chaîne 2 048 caractères L’URL https:// pointant vers les requêtes de recherche d’un utilisateur.
scopes Tableau d’énumérations 3 ✔️ Valeurs acceptées : team, personal, groupChat
context Tableau d’énumérations 8 Ensemble de contextItem contextes dans lesquels un onglet est pris en charge.
Valeurs acceptées : personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab, meetingStagemeetingSidepanelteamLevelApp.
Valeurs par défaut : personalTab, channelTab, privateChatTab, meetingDetailsTabmeetingChatTab, .

Remarque

  • Les groupChat étendues et team sont prises en charge uniquement dans la préversion publique pour les développeurs.
  • Le teamLevelApp contexte est dédié uniquement aux locataires Éducation.
  • La searchUrl fonctionnalité n’est pas disponible pour les développeurs tiers.
  • Si vos onglets nécessitent des informations contextuelles pour afficher du contenu pertinent ou pour lancer un flux d’authentification, pour plus d’informations, voir Obtenir le contexte de votre onglet Microsoft Teams.

bots

Facultatif – Tableau

Définit une solution bot, ainsi que des informations facultatives telles que les propriétés de commande par défaut.

L’élément est un tableau (au maximum un seul élément , actuellement un seul bot est autorisé par application) avec tous les éléments du type object. Ce bloc est requis uniquement pour les solutions qui offrent une expérience de bot.

Nom Type Taille maximale Requis Description
botId Chaîne ✔️ ID d’application Microsoft unique pour le bot inscrit dans le Bot Framework. L’ID peut être identique à l’ID d’application globale.
scopes Tableau d’énumérations 3 ✔️ Indique si le bot offre une expérience dans le contexte d’un canal dans une team, dans une conversation de groupe (groupChat) ou dans une expérience limitée à un utilisateur individuel (personal). Ces options ne sont pas exclusives.
needsChannelSelector Valeur booléenne Indique si le bot utilise ou non un conseil de l’utilisateur pour ajouter le bot à un canal spécifique. Par défaut : false
isNotificationOnly Boolean Indique si un bot est unidirectionnel, de notification uniquement, par opposition à un bot conversationnel. Par défaut : false
supportsFiles Boolean Indique si le bot prend en charge la possibilité de télécharger des fichiers dans une conversation personnelle. Par défaut : false
supportsCalling Boolean Valeur indiquant où un bot prend en charge les appels audio. IMPORTANT : Cette propriété est actuellement expérimentale. Les propriétés expérimentales peuvent être incomplètes et subir des modifications avant qu’elles ne soient entièrement disponibles. La propriété est fournie uniquement à des fins de test et d’exploration et ne doit pas être utilisée dans les applications de production. Par défaut : false
supportsVideo Boolean Valeur indiquant où un bot prend en charge les appels vidéo. IMPORTANT : Cette propriété est actuellement expérimentale. Les propriétés expérimentales peuvent être incomplètes et subir des modifications avant qu’elles ne soient entièrement disponibles. La propriété est fournie uniquement à des fins de test et d’exploration et ne doit pas être utilisée dans les applications de production. Par défaut : false

bots.configuration

Nom Type Taille maximale Requis Description
team.fetchTask Boolean ✔️ Valeur booléenne qui indique si elle doit extraire la boîte de dialogue (appelée module de tâche dans TeamsJS v1.x) de manière dynamique.
Valeur par défaut : false
team.taskInfo.title String 64 caractères ✔️ Titre de la boîte de dialogue initiale.
team.taskInfo.width Chaîne 16 La largeur de la boîte de dialogue est un nombre en pixels ou une disposition par défaut telle que large, mediumou small.
team.taskInfo.height Chaîne 16 La hauteur de la boîte de dialogue est un nombre en pixels ou une disposition par défaut telle que large, mediumou small.
team.taskInfo.url Chaîne 2 048 caractères URL webview initiale.
groupChat.fetchTask Valeur booléenne ✔️ Valeur booléenne qui indique si la boîte de dialogue doit être extraite dynamiquement.
Valeur par défaut : false
groupChat.taskInfo Objet Boîte de dialogue à lancer lorsque la tâche d’extraction est définie sur false.
Valeur par défaut : false
groupChat.taskInfo.title String 64 caractères ✔️ Titre de la boîte de dialogue initiale.
groupChat.taskInfo.width Chaîne 16 La largeur de la boîte de dialogue est un nombre en pixels ou une disposition par défaut telle que large, mediumou small.
groupChat.taskInfo.height Chaîne 16 La hauteur de la boîte de dialogue est un nombre en pixels ou une disposition par défaut telle que large, mediumou small.
groupChat.taskInfo.url Chaîne 2 048 caractères URL webview initiale.

bots.commandLists

Une liste de commandes que votre robot peut recommander aux utilisateurs. L’objet est un tableau (maximum de deux éléments) avec tous les éléments de type object ; vous devez définir une liste de commandes distincte pour chaque étendue que votre bot prend en charge. Pour plus d’informations, consultez Menus bot.

Nom Type Taille maximale Requis Description
items.scopes Tableau d’énumérations 3 ✔️ Spécifie l’étendue pour laquelle la liste de commandes est valide. Les options sont team, personal et groupChat.
items.commands Tableau d’objets 10 ✔️ Ensemble de commandes prises en charge par le bot :
title: nom de la commande bot (chaîne, 32)
description : description simple ou exemple de la syntaxe de commande et de son argument (chaîne, 128)

bots.commandLists.commands

Nom Type Taille maximale Requis Description
title Chaîne 32 ✔️ Nom de la commande du bot.
description Chaîne 128 caractères ✔️ Une description de texte simple ou exemple de syntaxe de commande et de ses arguments.

connecteurs

Facultatif – Tableau

Le connectors bloc définit un connecteur carte pour Groupes Microsoft 365 pour l’application.

L’objet est un tableau (maximum d’un élément) avec tous les éléments de type object. Ce bloc est requis uniquement pour les solutions qui fournissent un connecteur.

Nom Type Taille maximale Requis Description
configurationUrl Chaîne 2 048 caractères ✔️ L’URL https:// à utiliser lors de la configuration du connecteur à l’aide de l’expérience de configuration inline.
scopes Tableau d’énumérations 1 ✔️ Spécifie si le connecteur offre une expérience dans le contexte d’un canal dans un team, ou une expérience limitée à un utilisateur individuel seul (personal). Actuellement, seule l’étendue team est prise en charge.
connectorId String 64 caractères ✔️ Identificateur unique du connecteur qui correspond à son ID dans le tableau de bord du développeur de connecteurs.

composeExtensions

Facultatif – Tableau

Définit une extension de message pour l’application.

Remarque

Le nom de la fonctionnalité a été modifié de « compose extension » à « message extension » en novembre 2017, mais le nom du manifeste d’application reste le même afin que les extensions existantes continuent de fonctionner.

L’élément est un tableau (maximum d’un élément) avec tous les éléments de type object . Ce bloc est requis uniquement pour les solutions qui fournissent une extension de message.

Nom Type Taille maximale Requis Description
botId Chaîne ID d’application Microsoft unique pour le bot qui sauvegarde l’extension de message, tel qu’il est inscrit auprès de l’infrastructure de bot. L’ID peut être identique à l’ID d’application global.
composeExtensionType Chaîne ✔️ Type de l’extension compose. Les valeurs enum sont botBased et apiBased.
authorization Objet 2 Informations relatives à l’autorisation pour l’extension de message basé sur l’API
authorization.authType Chaîne Énumération des types d’autorisation possibles. Les valeurs prises en charge sont none, apiSecretServiceAuthet microsoftEntra.
authorization.microsoftEntraConfiguration Objet Détails de capture d’objet nécessaires pour effectuer le flux d’authentification microsoftEntra. Applicable uniquement lorsque le type d’authentification est microsoftEntra.
authorization.microsoftEntraConfiguration.supportsSingleSignOn valeur booléenne Valeur indiquant si l’authentification unique est configurée pour l’application.
authorization.apiSecretServiceAuthConfiguration Objet Détails de capture d’objet nécessaires pour effectuer l’authentification de service. Applicable uniquement lorsque le type d’authentification est apiSecretServiceAuth.
authorization.apiSecretServiceAuthConfiguration.apiSecretRegistrationId Chaîne 128 caractères ID d’inscription retourné lorsque le développeur envoie la clé API via le portail des développeurs.
apiSpecificationFile Chaîne 2 048 caractères Chemin d’accès relatif au fichier de spécification d’API dans le package de manifeste.
canUpdateConfiguration Valeur booléenne Valeur indiquant si la configuration d’une extension de message peut être mise à jour par l’utilisateur.
Valeur par défaut : true
commands Tableau d’objets 10 ✔️ Tableau de commandes prises en charge par l’extension de message.
canUpdateConfiguration Booléen Valeur indiquant si la configuration d’une extension de message peut être mise à jour par l’utilisateur. Par défaut : false.
messageHandlers Tableau d’objets 5 Liste des gestionnaires qui permettent d’appeler des applications lorsque certaines conditions sont remplies.
messageHandlers.type Chaîne Type de gestionnaire de messages. Doit être "link".
messageHandlers.value.domains Tableau de chaînes 2 048 caractères Tableau de domaines pour lequel le gestionnaire de messages de lien peut s’inscrire.
messageHandlers.value.supportsAnonymizedPayloads Valeur booléenne Valeur booléenne qui indique si le gestionnaire de messages de lien de l’application prend en charge le flux d’appel anonyme. La valeur par défaut est False.

composeExtensions.commands

Votre extension de message doit déclarer une ou plusieurs commandes avec un maximum de 10 commandes. Chaque commande apparaît dans Microsoft Teams en tant qu’interaction potentielle à partir du point d’entrée basé sur l’IU.

Chaque élément de commande est un objet avec la structure suivante :

Nom Type Taille maximale Requis Description Copilot pour afficher les invites à l’utilisateur pour commencer avec
id String 64 caractères ✔️ ID de la commande.
type String Type de la commande. L’un des query ou action. Par défaut : requête.
samplePrompts tableau 5 Non Propriété utilisée par Copilot pour afficher à l’utilisateur les invites prises en charge par le plug-in.
samplePrompts.text chaîne 128 caractères ✔️ Contenu de l’exemple d’invite.
apiResponseRenderingTemplateFile Chaîne 2 048 caractères Chemin d’accès relatif au fichier de modèle de rendu de réponse de l’API utilisé pour mettre en forme la réponse JSON de l’API du développeur en réponse de carte adaptative.
context Tableau de chaînes 3 caractères Définit l’emplacement à partir duquel l’extension de message peut être appelée. Toute combinaison de compose, commandBox, message.
Valeurs par défaut : compose, commandBox
title Chaîne 32 caractères ✔️ Le nom de la commande conviviale.
description Chaîne 128 caractères Description qui apparaît aux utilisateurs pour indiquer l’objectif de cette commande.
semanticDescription Chaîne 5 000 caractères Description sémantique de la commande pour la consommation par Copilot à l’aide du modèle LLM (Large Language Model).
initialRun Valeur booléenne Une valeur booléenne indique si la commande s’exécute initialement sans paramètre. La valeur par défaut est False.
fetchTask Valeur booléenne Valeur booléenne qui indique s’il doit extraire dynamiquement la boîte de dialogue (appelée module de tâche dans TeamsJS v1.x). La valeur par défaut est False.
taskInfo Objet Spécifiez la boîte de dialogue à précharger lors de l’utilisation d’une commande d’extension de message.
taskInfo.title String 64 caractères Titre de la boîte de dialogue initiale.
taskInfo.width Chaîne Largeur de la boîte de dialogue : un nombre en pixels ou une disposition par défaut telle que « grand », « moyen » ou « petit ».
taskInfo.height Chaîne Hauteur de la boîte de dialogue : un nombre en pixels ou une disposition par défaut telle que « grand », « moyen » ou « petit ».
taskInfo.url Chaîne URL webview initiale.
parameters Tableau d’objets 5 éléments Liste des paramètres que prend la commande. Minimum : 1 ; maximum : 5.
parameter.name String 64 caractères ✔️ Nom du paramètre tel qu’il apparaît dans le client. Le nom du paramètre est inclus dans la demande de l’utilisateur.
parameter.title Chaîne 32 caractères ✔️ Titre convivial du paramètre.
parameter.description Chaîne 128 caractères Chaîne conviviale qui décrit l’objectif de ce paramètre.
parameter.semanticDescription Chaîne 2 000 caractères Description sémantique du paramètre pour la consommation par Copilot à l’aide du modèle LLM (Large Language Model).
parameter.value Chaîne 512 caractères Valeur initiale du paramètre. Actuellement, la valeur n’est pas prise en charge
parameter.inputType Chaîne Définit le type de contrôle affiché dans une boîte de dialogue pourfetchTask: false . La valeur d’entrée ne peut être que de text, textarea, number, date, time, toggle, choiceset .
parameter.choices Tableau d’objets 10 éléments Options de choix pour le choiceset. Utilisez uniquement lorsque parameter.inputType est choiceset.
parameter.choices.title Chaîne 128 caractères ✔️ Titre du choix.
parameter.choices.value Chaîne 512 caractères ✔️ Valeur du choix.

autorisations

Facultatif : tableau de chaînes

Tableau de string, qui spécifie les autorisations que l’application demande, qui indiquent aux utilisateurs finaux le fonctionnement de l’extension. Les options suivantes ne sont pas exclusives :

  • identityNécessite des informations d’identité d’utilisateur.
  • messageTeamMembersNécessite l’autorisation d’envoyer des messages directs aux membres de l’équipe.

La modification de ces autorisations pendant la mise à jour de l’application entraîne la répétition du processus de consentement par vos utilisateurs après l’exécution de l’application mise à jour. Pour plus d’informations, voir Mise à jour de votre application.

Remarque

Les autorisations sont désormais déconseillées.

devicePermissions

Facultatif : tableau de chaînes

Fournit les fonctionnalités natives sur l’appareil d’un utilisateur à qui votre application demande l’accès. Les options sont :

  • geolocation
  • media
  • notifications
  • midi
  • openExternal

validDomains

Facultatif, sauf obligatoire lorsque indiqué.

Liste des domaines valides pour les sites web que l’application s’attend à charger dans le client Teams. Les listes de domaines peuvent inclure des caractères génériques, par exemple, *.example.com. Le domaine valide correspond exactement à un segment du domaine ; si vous devez faire correspondre a.b.example.com utilisez *.*.example.com. Si votre interface utilisateur de contenu ou de configuration d’onglet accède à un autre domaine que la configuration de tabulation, ce domaine doit être spécifié ici.

N’incluez pas les domaines des fournisseurs d’identité que vous souhaitez prendre en charge dans votre application. Par exemple, pour vous authentifier à l’aide d’un ID Google, il est nécessaire de rediriger vers accounts.google.com, toutefois, vous ne devez pas inclure accounts.google.com dans validDomains[].

Les applications Teams qui nécessitent leurs propres URL SharePoint pour fonctionner correctement incluent « {teamsitedomain} » dans leur liste de domaines valide.

Importante

N’ajoutez pas de domaines en dehors de votre contrôle, directement ou par le biais de caractères génériques (). Par exemple,.yoursite.com est valide, mais *.onmicrosoft.com n’est pas valide, car il n’est pas sous votre contrôle.

Lorsque vous utilisez des caractères génériques, les règles suivantes s’appliquent :

  • Si un segment de sous-domaine inclut un caractère générique, il doit s’agir du seul caractère du segment.
  • Tout segment précédant un segment générique doit également être un segment générique.

Par exemple, *.*.domain.com est valide, mais foo.*.myteam.domain.com n’est pas valide.

L’objet est un tableau avec tous les éléments du type string. L’élément maximal de l’objet est de 16 et la longueur maximale est de 2 048 caractères.

WebApplicationInfo

Facultatif : objet

Fournissez votre ID d’application Microsoft Entra et les informations Microsoft Graph pour aider les utilisateurs à se connecter en toute transparence à votre application. Si votre application est inscrite dans Microsoft Entra ID, vous devez fournir l’ID d’application. Les administrateurs peuvent facilement examiner les autorisations et accorder leur consentement dans le Centre d’administration Teams.

Nom Type Taille maximale Requis Description
id Chaîne ✔️ Microsoft Entra’ID d’application de l’application. Cet ID doit être un GUID.
resource Chaîne 2 048 caractères URL de ressource de l’application pour l’acquisition du jeton du SSO.
NOTE: Si vous n’utilisez pas l’authentification unique, veillez à entrer une valeur de chaîne factice dans ce champ dans le manifeste de votre application, par exemple, https://example pour éviter une réponse d’erreur.

graphConnector

Facultatif : objet

Spécifiez la configuration du connecteur Graph de l’application. Si cela est présent, webApplicationInfo.id doit également être spécifié.

Nom Type Taille maximale Requis Description
notificationUrl Chaîne 2 048 caractères ✔️ L’URL où les notifications Graph-connecteur pour l’application doivent être envoyées.

showLoadingIndicator

Facultatif : booléen

Indique si l’indicateur de chargement s’affiche ou non lorsqu’une application ou un onglet est en cours de chargement. La valeur par défaut est False.

Remarque

  • Si vous sélectionnez showLoadingIndicator true dans le manifeste de votre application, pour charger la page correctement, modifiez les pages de contenu de vos onglets et boîtes de dialogue, comme décrit dans Afficher un document d’indicateur de chargement natif .
  • Si vous ne modifiez pas les pages de contenu de votre onglet, l’application onglet ne se charge pas et affiche l’erreur There was a problem reaching this app.

IsFullScreen

Facultatif : booléen

Indique si une application personnelle est rendue sans barre d’en-tête d’onglet (mode plein écran). La valeur par défaut est False.

Remarque

  • isFullScreen ne fonctionne que pour les applications publiées dans votre organisation. Les applications tierces chargées et publiées ne peuvent pas utiliser cette propriété (elle est ignorée).

  • Le isFullScreen=true paramètre élimine la barre d’en-tête et le titre fournis par Teams des applications personnelles et des boîtes de dialogue. Toutefois, il est recommandé de ne pas utiliser le paramètre avec les isFullScreen=true applications de bot de conversation.

activités

Facultatif : objet

Définissez les propriétés utilisées par votre application pour publier un flux d’activité utilisateur.

Nom Type Taille maximale Requis Description
activityTypes Tableau d’objets 128 éléments Indiquez les types d’activités que votre application peut publier dans un flux d’activités utilisateurs.

activities.activityTypes

Nom Type Taille maximale Requis Description
type Chaîne 32 caractères ✔️ Le type de notification. Voir ci-dessous.
description Chaîne 128 caractères ✔️ Une brève description de la notification. Voir ci-dessous.
templateText Chaîne 128 caractères ✔️ Exemple : « {actor} a créé la tâche {taskId} pour vous »
{
   "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

Facultatif : chaîne

Spécifie l’étendue d’installation définie par défaut pour cette application. L’étendue définie est l’option affichée sur le bouton lorsqu’un utilisateur tente d’ajouter l’application. Les options sont :

  • personal
  • team
  • groupChat
  • meetings

defaultGroupCapability

Facultatif : objet

Lorsqu’une étendue d’installation de groupe est sélectionnée, elle définit la fonctionnalité par défaut lorsque l’utilisateur installe l’application. Les options sont :

  • team
  • groupChat
  • meetings
Nom Type Taille maximale Requis Description
team Chaîne Lorsque l’étendue d’installation sélectionnée est team, ce champ spécifie la fonctionnalité par défaut disponible. Options : tab, bot, ou connector.
groupChat Chaîne Lorsque l’étendue d’installation sélectionnée est groupChat, ce champ spécifie la fonctionnalité par défaut disponible. Options : tab, bot, ou connector.
meetings Chaîne Lorsque l’étendue d’installation sélectionnée est meetings, ce champ spécifie la fonctionnalité par défaut disponible. Options : tab, bot, ou connector.

configurableProperties

Facultatif – Tableau

Le bloc configurableProperties définit les propriétés d’application que les administrateurs Teams peuvent personnaliser. Pour plus d’informations, consultez activer la personnalisation d’application. La fonctionnalité de personnalisation d’application n’est pas prise en charge dans les applications personnalisées ou les applications personnalisées conçues pour votre organisation (applications métier).

Remarque

Au moins une propriété doit être définie. Vous pouvez définir un maximum de neuf propriétés dans ce bloc.

Vous pouvez définir l’une des propriétés suivantes :

  • name : nom d’affichage de l’application.
  • shortDescription : brève description de l’application.
  • longDescription : description longue de l’application.
  • smallImageUrl : icône de contour de l’application.
  • largeImageUrl : icône de couleur de l’application.
  • accentColor : couleur à utiliser et arrière-plan pour vos icônes de plan.
  • developerUrl : URL HTTPS du site web du développeur.
  • privacyUrl : URL HTTPS de la politique de confidentialité du développeur.
  • termsOfUseUrl : URL HTTPS des conditions d’utilisation du développeur.

supportedChannelTypes

Facultatif – Tableau

Active votre application dans des canaux non standard. Si votre application prend en charge une étendue d’équipe et que cette propriété est définie, Teams active votre application dans chaque type de canal en conséquence. La propriété supportedChannelTypes prend uniquement en charge sharedChannels et privateChannels.

Remarque

  • Si votre application prend en charge une étendue d’équipe, elle fonctionne dans les canaux standard, quelles que soient les valeurs définies dans cette propriété.
  • Votre application peut prendre en compte les propriétés uniques de chacun des types de canaux pour fonctionner correctement. Pour activer votre onglet pour les canaux privés et partagés, consultez Récupérer le contexte dans les canaux privés et obtenir le contexte dans les canaux partagés

defaultBlockUntilAdminAction

Facultatif : booléen

Lorsque la propriété defaultBlockUntilAdminAction est définie sur true, l’application est masquée par défaut aux utilisateurs jusqu’à ce que l’administrateur l’autorise. Si la valeur est true, l’application est masquée pour tous les locataires et tous les utilisateurs finaux. Les administrateurs de locataire peuvent voir l’application dans le Centre d’administration Teams et prendre des mesures pour autoriser ou bloquer l’application. La valeur par défaut est false. Pour plus d’informations sur le bloc d’application par défaut, consultez Bloquer les applications par défaut pour les utilisateurs jusqu’à ce qu’un administrateur approuve.

publisherDocsUrl

Facultatif : chaîne

Taille maximale : 2 048 caractères

La valeur du publisherDocsUrl paramètre est une URL HTTPS sécurisée vers la page d’informations et de documentation de l’application que les développeurs d’applications choisissent de fournir. Les administrateurs de locataire obtiennent de la documentation sur l’application à cette URL. Le Centre d’administration Teams affiche l’URL dans la page des détails de l’application. La documentation peut inclure des instructions destinées aux administrateurs pour faciliter l’adoption et le déploiement des applications. Dans la documentation de l’application, vous pouvez également inclure des instructions ou des informations sur l’application qui sont utiles pour l’administrateur de locataire, les utilisateurs et les autres parties prenantes de l’entreprise.

subscriptionOffer

Facultatif : objet

Spécifie l’offre SaaS associée à votre application.

Nom Type Taille maximale Requis Description
offerId string 2 048 caractères ✔️ Identificateur unique qui inclut votre ID de serveur de publication et votre ID d’offre, que vous pouvez trouver dans Espace partenaires. Vous devez mettre en forme la chaîne en tant que publisherId.offerId.

meetingExtensionDefinition

Facultatif : objet

Spécifiez la définition de l’extension de réunion. Pour plus d’informations, voir les scènes personnalisées du mode Ensemble dans Teams.

Nom Type Taille maximale Requis Description
scenes tableau d’objets 5 éléments Scènes de réunion prise en charge.
supportsStreaming Boolean Valeur qui indique si une application peut diffuser en continu le contenu audio et vidéo de la réunion vers un point de terminaison RTMP (Real-Time Meeting Protocol). La valeur par défaut est false.
supportsAnonymousGuestUsers Valeur booléenne Valeur qui indique si une application prend en charge l’accès pour les utilisateurs anonymes. La valeur par défaut est false.

Remarque

La supportsAnonymousGuestUsers propriété dans le schéma de manifeste d’application v1.16 est prise en charge uniquement dans le nouveau client Teams.

meetingExtensionDefinition.scenes

Nom Type Taille maximale Requis Description
id Chaîne ✔️ Identificateur unique de la scène. Cet ID doit être un GUID.
name Chaîne 128 caractères ✔️ Nom de la scène.
file Chaîne 2 048 caractères ✔️ Chemin d’accès relatif au fichier json de métadonnées des scènes.
preview Chaîne 2 048 caractères ✔️ Chemin d’accès relatif au fichier de l’icône d’aperçu PNG des scènes.
maxAudience Entier 50 ✔️ Nombre maximal d’audiences pris en charge dans la scène.
seatsReservedForOrganizersOrPresenters Entier 50 ✔️ Nombre de sièges réservés aux organisateurs ou présentateurs.

autorisation

Facultatif : objet

Remarque

authorization est pris en charge uniquement pour la version 1.12 ou ultérieure du manifeste d’application.

Spécifiez et consolidez les informations relatives à l’autorisation pour l’application.

Nom Type Taille maximale Requis Description
permissions Objet Liste des autorisations dont l’application a besoin pour fonctionner.

authorization.permissions

Nom Type Taille maximale Requis Description
resourceSpecific Tableau d’objets 16 éléments Autorisations qui protègent l’accès aux données au niveau de l’instance de ressource.

authorization.permissions.resourceSpecific

Nom Type Taille maximale Requis Description
type Chaîne ✔️ Type de l’autorisation de consentement spécifique à la ressource (RSC). Options : Application et Delegated.
name Chaîne 128 caractères ✔️ Nom de l’autorisation RSC. Pour plus d’informations, consultez Autorisations d’application RSC et Autorisations déléguées RSC

Autorisations d’application RSC

Les autorisations d’application permettent à l’application d’accéder aux données sans utilisateur connecté. Pour plus d’informations sur les autorisations d’application, consultez Autorisations RSC pour Microsoft Graph et Microsoft BotSDK.

Autorisations déléguées RSC

Les autorisations déléguées permettent à l’application d’accéder aux données pour le compte de l’utilisateur.

  • Autorisations déléguées RSC pour une équipe

    Name Description
    ChannelMeetingParticipant.Read.Group Permet à l’application de lire les informations des participants, notamment le nom, le rôle, l’ID, les horaires de participation et le temps restant, des réunions de canal associées à cette équipe, au nom de l’utilisateur connecté.
    ChannelMeetingIncomingAudio.Detect.Group Permet à l’application de détecter l’audio entrant dans les réunions de canal associées à l’équipe.
    ChannelMeetingActiveSpeaker.Read.Group Permet à l’application de lire les participants qui envoient actuellement de l’audio dans les réunions de canal associées à l’équipe.
    ChannelMeetingAudioVideo.Stream.Group Permet à l’application de diffuser en continu du contenu audio-vidéo à partir des réunions de canal associées à l’équipe.
    InAppPurchase.Allow.Group Permet à l’application d’afficher les offres de la Place de marché aux utilisateurs de l’équipe et d’effectuer leurs achats dans l’application, au nom de l’utilisateur connecté.
    ChannelMeetingStage.Write.Group Permet à l’application d’afficher du contenu sur la phase de réunion dans les réunions de canal associées à l’équipe, au nom de l’utilisateur connecté.
    LiveShareSession.ReadWrite.Group Permet à l’application de créer et de synchroniser des sessions Live Share pour les réunions associées à l’équipe, et d’accéder aux informations associées sur la liste de la réunion, telles que le rôle de réunion du membre, au nom de l’utilisateur connecté.
    MeetingParticipantReaction.Read.Group Permet à l’application de lire les réactions des participants aux réunions de canal associées à l’équipe.
  • Autorisations déléguées RSC pour les conversations ou les réunions

    Name Description
    InAppPurchase.Allow.Chat Permet à l’application d’afficher les offres de la Place de marché aux utilisateurs dans la conversation et toute réunion associée, et de terminer leurs achats dans l’application, au nom de l’utilisateur connecté.
    MeetingStage.Write.Chat Permet à l’application d’afficher du contenu sur la phase de réunion dans les réunions associées à la conversation, au nom de l’utilisateur connecté.
    OnlineMeetingParticipant.Read.Chat Permet à l’application de lire les informations des participants, notamment le nom, le rôle, l’ID, les heures de participation et de gauche, de la réunion associée à la conversation, au nom de l’utilisateur connecté.
    OnlineMeetingParticipant.ToggleIncomingAudio.Chat Permet à l’application de basculer l’audio entrant pour les participants aux réunions associées à la conversation, au nom de l’utilisateur connecté.
    LiveShareSession.ReadWrite.Chat Permet à l’application de créer et de synchroniser des sessions Live Share pour les réunions associées à la conversation, et d’accéder aux informations associées sur la liste de la réunion, telles que le rôle de réunion du membre, au nom de l’utilisateur connecté.
    MeetingParticipantReaction.Read.Chat Permet à l’application de lire les réactions des participants aux réunions associées à la conversation.
    OnlineMeetingIncomingAudio.Detect.Chat Permet à l’application de détecter les modifications dans le status de l’audio entrant dans les réunions associées à la conversation, au nom de l’utilisateur connecté.
    OnlineMeetingActiveSpeaker.Read.Chat Permet à l’application de lire les participants qui envoient actuellement de l’audio dans les réunions associées à la conversation.
    OnlineMeetingAudioVideo.Stream.Chat Permet à l’application de diffuser en continu le contenu audio-vidéo des réunions associées à la conversation.
  • Autorisations déléguées RSC pour les utilisateurs

    Name Description
    CameraStream.Read.User Permet à l’application de lire le flux de caméra de l’utilisateur.
    InAppPurchase.Allow.User Permet à l’application d’afficher les offres marketplace de l’utilisateur et d’effectuer les achats de l’utilisateur au sein de l’application, au nom de l’utilisateur connecté.
    OutgoingVideoStream.Write.User Permet à l’application de modifier la vidéo sortante de l’utilisateur.
    MicrophoneStream.Read.User Permet à l’application de lire le flux de microphone de l’utilisateur.
    MeetingParticipantReaction.Read.User Permet à l’application de lire les réactions de l’utilisateur lors de la participation à une réunion.

extensions

Facultatif : objet

La extensions propriété spécifie les compléments Outlook dans un manifeste d’application et simplifie la distribution et l’acquisition dans l’écosystème Microsoft 365. Chaque application ne prend en charge qu’une seule extension.

Nom Type Taille maximale Requis Description
requirements Objet Spécifie l’ensemble des exigences du client ou de l’hôte pour l’extension.
runtimes Tableau Configure l’ensemble des runtimes et des actions qui peuvent être utilisés par chaque point d’extension. Pour plus d’informations, consultez runtimes dans les compléments Office.
ribbons Tableau Définit le point d’extension des rubans.
autoRunEvents Tableau Définit le point d’extension d’activation basée sur les événements.
alternates Tableau Spécifie la relation avec d’autres solutions Microsoft 365 existantes. Il est utilisé pour masquer ou hiérarchiser les compléments du même éditeur avec des fonctionnalités qui se chevauchent.
audienceClaimUrl Chaîne 2 048 caractères Spécifie l’URL de votre extension et est utilisée pour valider les jetons d’identité utilisateur Exchange. Pour plus d’informations, consultez à l’intérieur du jeton d’identité Exchange.

Pour plus d’informations, voir Manifeste des compléments Office pour Microsoft 365.

extensions.requirements

L’objet extensions.requirements spécifie les étendues, les facteurs de forme et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que le complément soit installé. Les exigences sont également prises en charge sur les propriétés enfants « ribbon », « runtime », « alternates » et « autoRunEvents » pour filtrer sélectivement certaines fonctionnalités du complément. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365.

Nom Type Taille maximale Requis Description
requirements.capabilities Tableau Identifie les ensembles de conditions requises.
Options : name (obligatoire), minVersion, maxVersion
requirements.capabilities.name Chaîne ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion Chaîne Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion Chaîne Identifie la version maximale de l’ensemble de conditions requises.
requirements.scopes Tableau d’énumérations 1 Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook).
Valeur prise en charge : mail
requirements.formFactors Tableau d’énumérations Identifie les facteurs de forme qui prennent en charge le complément.
Valeurs prises en charge : mobile, desktop

extensions.runtimes

Le extensions.runtimes tableau configure les ensembles de runtimes et d’actions que chaque point d’extension peut utiliser.

Nom Type Taille maximale Requis Description
id String 64 caractères ✔️ Spécifie l’ID du runtime.
type Énumération de chaîne ✔️ Spécifie le type de runtime. La valeur d’énumération prise en charge pour le runtime basé sur un navigateur est general.
code Objet ✔️ Spécifie l’emplacement du code pour le runtime. runtime.typeSelon , les compléments peuvent utiliser un fichier JavaScript ou une page HTML avec une balise incorporée script qui spécifie l’URL d’un fichier JavaScript. Les deux URL sont nécessaires dans les situations où est runtime.type incertain.
code.page URL ✔️ Spécifie l’URL de la page web qui contient une balise incorporée script , qui spécifie l’URL d’un fichier JavaScript (à charger dans un runtime basé sur un navigateur).
code.script URL Spécifie l’URL du fichier JavaScript à charger dans le runtime JavaScript uniquement.
lifetime Énumération de chaîne Spécifie la durée de vie du runtime. Les runtimes avec une short durée de vie ne conservent pas l’état entre les exécutions, contrairement aux runtimes avec une long durée de vie. Pour plus d’informations, voir Runtimes dans les compléments Office.
actions Tableau Spécifie l’ensemble d’actions prises en charge par le runtime. Une action exécute une fonction JavaScript ou ouvre une vue telle qu’un volet Office.
actions.id String 64 caractères ✔️ Spécifie l’ID de l’action, qui est passé au fichier de code.
actions.type Chaîne ✔️ Spécifie le type d’action. Le executeFunction type exécute une fonction JavaScript sans attendre qu’elle se termine et le openPage type ouvre une page dans une vue donnée.
actions.displayName String 64 caractères Spécifie le nom complet de l’action et ce n’est pas l’étiquette d’un bouton ou d’un élément de menu qui appelle l’action (qui est configurée avec tabs.groups.controls.label).
actions.pinnable Valeur booléenne Indique qu’un volet des tâches prend en charge l’épinglage, ce qui conserve le volet des tâches ouvert lorsque l’utilisateur modifie la sélection.
Valeur par défaut : false
actions.view String 64 caractères Spécifie la vue dans laquelle la page doit être ouverte. Il est utilisé uniquement lorsque actions.type a la valeur openPage.
actions.multiselect Valeur booléenne Spécifie si l’utilisateur final peut sélectionner plusieurs éléments, tels que plusieurs e-mails, et appliquer l’action à tous.
actions.supportsNoItemContext Valeur booléenne Permet aux compléments du volet Office de s’activer sans que le volet de lecture soit activé ou qu’un message soit sélectionné.
requirements Objet Spécifie les étendues, formFactors et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que le runtime soit inclus dans le complément. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365.
requirements.capabilities Tableau Identifie les ensembles de conditions requises.
Options : name (obligatoire), minVersion, maxVersion
requirements.capabilities.name Chaîne ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion Chaîne Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion Chaîne Identifie la version maximale de l’ensemble de conditions requises.
requirements.scopes Tableau d’énumérations 1 Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook).
Valeur prise en charge : mail
requirements.formFactors Tableau d’énumérations Identifie les facteurs de forme qui prennent en charge le complément.
Valeurs prises en charge : mobile, desktop

Pour utiliser extensions.runtimes, consultez Créer des commandes de complément, configurer le runtime pour un volet Office et configurer le runtime pour la commande de fonction.

extensions.ribbons

La extensions.ribbons propriété permet d’ajouter des commandes de complément (boutons et éléments de menu) au ruban de l’application Microsoft 365. La définition du ruban est sélectionnée dans le tableau en fonction des exigences et du premier ordre.

Nom Type Taille maximale Requis Description
contexts Tableau 7 Spécifie la fenêtre d’application Microsoft 365 dans laquelle la personnalisation du ruban est disponible pour l’utilisateur. Chaque élément du tableau est membre d’un tableau de chaînes.
Valeurs prises en charge : mailRead, mailCompose, meetingDetailsOrganizer, meetingDetailsAttendee, onlineMeetingDetailsOrganizer, logEventMeetingDetailsAttendee, default
requirements Objet Spécifie les étendues, formFactors et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que la personnalisation du ruban apparaisse. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365.
requirements.capabilities Tableau Identifie les ensembles de conditions requises.
Options : name (obligatoire), minVersion, maxVersion
requirements.capabilities.name Chaîne ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion Chaîne Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion Chaîne Identifie la version maximale de l’ensemble de conditions requises.
requirements.scopes Tableau d’énumérations 1 Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook).
Valeur prise en charge : mail
requirements.formFactors Tableau d’énumérations Identifie les facteurs de forme qui prennent en charge le complément.
Valeurs prises en charge : mobile, desktop
tabs Tableau ✔️ Configure les onglets personnalisés sur le ruban de l’application Microsoft 365.
tabs.id String 64 caractères Spécifie l’ID de l’onglet dans l’application.
tabs.builtinTabId String 64 caractères Spécifie l’ID d’un onglet du ruban Office intégré. Les valeurs possibles varient selon l’application hôte Office. Actuellement, seuls les compléments Outlook sont pris en charge et la seule valeur autorisée pour Outlook est « TabDefault ». L’onglet par défaut dépend de l’endroit où le complément Outlook est exposé, comme déterminé dans la propriété « extensions.ribbons.contexts ». Dans la fenêtre main Outlook, il s’agit de l’onglet Accueil, dans une fenêtre de message, de l’onglet Message et, dans une fenêtre de réunion, de l’onglet Réunion.
tabs.label String 64 caractères Spécifie le texte affiché pour l’onglet.
tabs.position Objet Configure la position de l’onglet personnalisé par rapport aux autres onglets du ruban.
tabs.position.builtinTabId String 64 caractères ✔️ Spécifie l’ID de l’onglet intégré à laquelle l’onglet personnalisé doit être placé en regard. Pour plus d’informations, consultez rechercher les ID des contrôles et des groupes de contrôles.
tabs.position.align Énumération de chaîne ✔️ Définit l’alignement de l’onglet personnalisé par rapport à l’onglet intégré spécifié.
Valeurs prises en charge : after, before
tabs.groups Tableau Définit des groupes de contrôles sur un onglet de ruban sur un appareil non mobile. Pour les appareils mobiles, voir tabs.customMobileRibbonGroups ci-dessous.
tabs.groups.id String 64 caractères Spécifie l’ID du groupe d’onglets dans l’application. Il doit être différent de n’importe quel ID de groupe intégré dans l’application Microsoft 365 et tout autre groupe personnalisé.
tabs.groups.label String 64 caractères Spécifie le texte affiché pour le groupe.
tabs.groups.icons Tableau Spécifie les icônes affichées pour le groupe.
tabs.groups.icons.size Nombre ✔️ Spécifie la taille de l’icône en pixels, énumérée sous la forme 16,20,24,32,40,48,64, .80
Tailles d’image requises : 16, 32, 80.
tabs.groups.icons.url URL ✔️ Spécifie l’URL absolue de l’icône.
tabs.groups.controls Tableau Configure les boutons et les menus du groupe.
tabs.groups.controls.id String 64 caractères ✔️ Spécifie l’ID du contrôle dans l’application. Il doit être différent de tout ID de contrôle intégré dans l’application Microsoft 365 et de tout autre contrôle personnalisé.
tabs.groups.controls.items Tableau Configure les éléments d’un contrôle de menu.
tabs.groups.controls.items.id Chaîne ✔️ Spécifie l’ID des éléments dans l’application.
tabs.groups.controls.items.type Énumération de chaîne ✔️ Définit le type d’éléments de contrôle.
Valeurs prises en charge : menu, button
tabs.groups.controls.items.label String 64 caractères ✔️ Spécifie le texte affiché pour les éléments.
tabs.groups.controls.items.icons Tableau Configure les icônes de l’élément personnalisé.
tabs.groups.controls.items.icons.size Nombre ✔️ Spécifie la taille de l’icône en pixels, énumérée sous la forme 16,20,24,32,40,48,64, .80
Tailles d’image requises : 16, 32, 80.
tabs.groups.controls.items.icons.url URL ✔️ Spécifie l’URL absolue de l’icône.
tabs.groups.controls.items.supertip ✔️ Configure une super-info pour l’élément personnalisé. Une super-info est une fonctionnalité d’interface utilisateur qui affiche une brève zone d’informations d’aide sur un contrôle lorsque le curseur pointe dessus. La zone peut contenir plusieurs lignes de texte.
tabs.groups.controls.items.supertip.title String 64 caractères ✔️ Spécifie le texte de titre de l’info-bulle.
tabs.groups.controls.items.supertip.description Chaîne 128 caractères ✔️ Spécifie la description de l’info-bulle.
tabs.groups.controls.items.actionId String 64 caractères ✔️ Spécifie l’ID de l’action effectuée lorsqu’un utilisateur sélectionne le contrôle ou l’élément de menu. doit actionId correspondre à runtime.actions.id.
tabs.groups.controls.items.enabled Valeur booléenne Indique si le contrôle est initialement activé.
Valeur par défaut : true
tabs.groups.controls.items.overriddenByRibbonApi Valeur booléenne Spécifie si un groupe, un bouton, un menu ou un élément de menu masqué sur les combinaisons d’applications et de plateformes qui prennent en charge l’API (Office.ribbon.requestCreateControls) qui installe des onglets contextuels personnalisés sur le ruban.
Valeur par défaut : false
tabs.groups.controls.type Chaîne ✔️ Définit le type de contrôle.
Valeurs prises en charge : button, menu
tabs.groups.controls.builtinControlId String 64 caractères ✔️ Spécifie l’ID d’un contrôle Microsoft 365 existant. Pour plus d’informations, consultez rechercher les ID des contrôles et des groupes de contrôles.
tabs.groups.controls.label String 64 caractères ✔️ Spécifie le texte affiché pour le contrôle.
tabs.groups.controls.icons Tableau ✔️ Définit les icônes du contrôle. Il doit y avoir au moins trois objets enfants ; chacun avec size des propriétés de 16pixels , 32et 80 .
tabs.groups.controls.icons.size Nombre ✔️ Spécifie la taille de l’icône en pixels, énumérée sous la forme 16,20,24,32,40,48,64, .80
Taille d’image requise : 16, 32, 80
tabs.groups.controls.icons.url URL Spécifie l’URL absolue de l’icône.
tabs.groups.controls.supertip Objet ✔️ Configure une super-info pour le contrôle.
tabs.groups.controls.supertip.title String 64 caractères ✔️ Spécifie le texte de titre de l’info-bulle.
tabs.groups.controls.supertip.description Chaîne 128 caractères ✔️ Spécifie la description de l’info-bulle.
tabs.groups.controls.actionId String 64 caractères Obligatoire si le type de contrôle est button. N’utilisez pas si le type de contrôle est menu. Spécifie l’ID de l’action effectuée lorsqu’un utilisateur sélectionne le contrôle. doit actionId correspondre à la runtime.actions.id propriété d’une action dans l’objet runtimes .
tabs.groups.controls.enabled Valeur booléenne Indique si le contrôle est initialement activé.
Valeur par défaut : true
tabs.groups.controls.overriddenByRibbonApi Valeur booléenne Spécifie si un groupe, un bouton, un menu ou un élément de menu est masqué sur les combinaisons d’applications et de plateformes qui prennent en charge l’API (Office.ribbon.requestCreateControls) qui installe des onglets contextuels personnalisés sur le ruban.
Valeur par défaut : false
tabs.groups.builtinGroupId String 64 caractères Spécifie l’ID d’un groupe intégré. Pour plus d’informations, consultez rechercher les ID des contrôles et des groupes de contrôles.
tabs.customMobileRibbonGroups Tableau 10 Définit des groupes de contrôles sous l’onglet par défaut du ruban sur un appareil mobile. Cette propriété de tableau ne peut être présente que sur les objets tab qui ont une tabs.builtinTabId propriété définie sur « DefaultTab ». Pour les appareils non mobiles, voir tabs.groups ci-dessus.
tabs.customMobileRibbonGroups.id Chaîne 250 caractères ✔️ Spécifie l’ID du groupe. Il doit être différent de n’importe quel ID de groupe intégré dans l’application Microsoft 365 et tout autre groupe personnalisé.
tabs.customMobileRibbonGroups.label Chaîne 32 caractères ✔️ Spécifie l’étiquette sur le groupe.
tabs.customMobileRibbonGroups.controls Tableau 20 ✔️ Définit les contrôles du groupe. Seuls les boutons mobiles sont pris en charge.
tabs.customMobileRibbonGroups.controls.id Chaîne 250 caractères ✔️ Spécifie l’ID du contrôle, tel que « msgReadFunctionButton ».
tabs.customMobileRibbonGroups.controls.type Énumération de chaîne ✔️ Spécifie le type de contrôle. Actuellement, seul « MobileButton » est pris en charge.
tabs.customMobileRibbonGroups.controls.label Chaîne 32 caractères ✔️ Spécifie l’étiquette sur le contrôle.
tabs.customMobileRibbonGroups.controls.actionId String 64 caractères ✔️ Spécifie l’ID de l’action effectuée lorsqu’un utilisateur sélectionne le contrôle. doit actionId correspondre à la runtime.actions.id propriété d’une action dans l’objet runtimes .
tabs.customMobileRibbonGroups.controls.icons Tableau 9 ✔️ Spécifie les icônes qui s’afficheront sur le contrôle en fonction des dimensions et de la résolution de l’écran de l’appareil mobile. Il doit y avoir exactement 9 icônes.
tabs.customMobileRibbonGroups.controls.icons.size Énumération de nombres ✔️ Taille en pixels de l’icône. Les tailles possibles sont 25, 32 et 48. Il doit y avoir exactement une de chaque taille pour chaque valeur possible de la propriété des scale icônes.
tabs.customMobileRibbonGroups.controls.icons.url Chaîne 2 048 caractères ✔️ URL complète et absolue du fichier image de l’icône.
tabs.customMobileRibbonGroups.controls.icons.scale Énumération de nombres ✔️ Spécifie la propriété UIScreen.scale pour les appareils iOS. Les valeurs possibles sont 1, 2 et 3. Il doit y avoir exactement une de chaque valeur pour chaque valeur possible de la propriété des size icônes.

Pour utiliser extensions.ribbons, consultez Créer des commandes de complément, configurer l’interface utilisateur pour la commande du volet Office et configurer l’interface utilisateur pour la commande de fonction.

extensions.autoRunEvents

La extensions.autoRunEvents propriété définit les points d’extension d’activation basés sur les événements.

Nom Type Taille maximale Requis Description
events Tableau 20 ✔️ Configure l’événement qui provoque l’exécution automatique des actions dans un complément Outlook. Par exemple, consultez Utiliser des alertes intelligentes et les OnMessageSend événements et OnAppointmentSend dans vos compléments Outlook.
events.type String 64 caractères Spécifie le type d’événement. Pour les types pris en charge, consultez événements pris en charge.
events.actionId String 64 caractères Identifie l’action effectuée lorsque l’événement se déclenche. doit actionId correspondre à runtime.actions.id.
events.options Objet Configure la façon dont Outlook répond à l’événement.
events.options.sendMode Chaîne ✔️ Spécifie les actions à effectuer lors d’une action d’envoi de courrier.
Valeurs prises en charge : promptUser, softBlock, block. Pour plus d’informations, consultez options du mode d’envoi disponibles.
requirements Objet Spécifie les étendues, formFactors et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que le code de gestion des événements s’exécute. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365.
requirements.capabilities Tableau Identifie les ensembles de conditions requises.
Options : name (obligatoire), minVersion, maxVersion
requirements.capabilities.name Chaîne ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion Chaîne Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion Chaîne Identifie la version maximale de l’ensemble de conditions requises.
requirements.scopes Tableau d’énumérations 1 Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook).
Valeur prise en charge : mail
requirements.formFactors Tableau d’énumérations Identifie les facteurs de forme qui prennent en charge le complément.
Valeurs prises en charge : mobile, desktop

extensions.alternates

La extensions.alternates propriété est utilisée pour masquer ou hiérarchiser des compléments spécifiques sur le marché lorsque vous avez publié plusieurs compléments avec des fonctionnalités qui se chevauchent.

Nom Type Taille maximale Requis Description
prefer Objet Spécifie la compatibilité descendante avec un complément COM équivalent, un complément XLL ou les deux.
prefer.comAddin Objet Spécifie un complément COM qui doit être utilisé à la place du complément web Microsoft 365 pour Windows.
prefer.comAddin.progId String 64 caractères ✔️ Identifie le type d’application dans lequel l’extension peut s’exécuter.
hide Objet Configure comment masquer un autre complément que vous avez publié chaque fois que le complément est installé, afin que les utilisateurs ne voient pas les deux dans l’interface utilisateur de Microsoft 365. Par exemple, utilisez cette propriété lorsque vous avez précédemment publié un complément qui utilise l’ancien manifeste d’application XML et que vous le remplacez par une version qui utilise le nouveau manifeste d’application JSON.
hide.storeOfficeAddin Objet Spécifie un complément Microsoft 365 disponible dans Microsoft AppSource.
hide.storeOfficeAddin.officeAddinId String 64 caractères ✔️ Spécifie l’ID du complément dans le marché à masquer. Le GUID provient de la propriété manifeste id de l’application si le complément sur le marché utilise le manifeste d’application JSON. Le GUID est tiré de l’élément <Id> si le complément in-market utilise le manifeste d’application XML.
hide.storeOfficeAddin.assetId String 64 caractères ✔️ Spécifie l’ID de ressource AppSource du complément dans le marché à masquer.
hide.customOfficeAddin Objet Configure comment masquer un complément sur le marché qui n’est pas distribué via AppSource.
hide.customOfficeAddin.officeAddinId String 64 caractères ✔️ Spécifie l’ID du complément dans le marché à masquer. Le GUID provient de la propriété manifeste id de l’application si le complément sur le marché utilise le manifeste d’application JSON. Le GUID est tiré de l’élément <Id> si le complément in-market utilise le manifeste d’application XML.
requirements Objet Spécifie les étendues, formFactors et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que les propriétés « hide », « prefer » ou « alternateIcons » prennent effet. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365.
requirements.capabilities Tableau Identifie les ensembles de conditions requises.
Options : name (obligatoire), minVersion, maxVersion
requirements.capabilities.name Chaîne ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion Chaîne Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion Chaîne Identifie la version maximale de l’ensemble de conditions requises.
requirements.scopes Tableau d’énumérations 1 Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook).
Valeur prise en charge : mail
requirements.formFactors Tableau d’énumérations Identifie les facteurs de forme qui prennent en charge le complément.
Valeurs prises en charge : mobile, desktop
alternateIcons Objet Spécifie les icônes main utilisées pour représenter le complément sur les versions antérieures d’Office. Cette propriété est requise si le complément Office doit pouvoir être installé dans Office sur Mac, les licences Office perpétuelles et les versions d’abonnement Microsoft 365 d’Office sur Windows antérieures à 2304 (build 16320.00000).
alternateIcons.icon Objet ✔️ Spécifie les propriétés du fichier image utilisé pour représenter le complément.
alternateIcons.icon.size Énumération de nombres ✔️ Cette propriété est réservée pour une utilisation ultérieure. La valeur doit être 64.
alternateIcons.icon.url Chaîne 2 048 caractères ✔️ Spécifie l’URL complète et absolue du fichier image utilisé pour représenter le complément. L’image d’icône doit être de 64 x 64 pixels et utiliser l’un des formats de fichier suivants : GIF, JPG, PNG, EXIF, BMP, TIFF.
alternateIcons.highResolutionIcon Objet ✔️ Spécifie les propriétés du fichier image utilisé pour représenter le complément sur les écrans haute résolution.
alternateIcons.highResolutionIcon.size Énumération de nombres ✔️ Cette propriété est réservée pour une utilisation ultérieure. La valeur doit être 64 (et non 128).
alternateIcons.highResolutionIcon.url Chaîne 2 048 caractères ✔️ Spécifie l’URL complète et absolue du fichier image utilisé pour représenter le complément sur les écrans haute résolution. L’image d’icône doit être de 128 x 128 pixels et utiliser l’un des formats de fichier suivants : GIF, JPG, PNG, EXIF, BMP, TIFF.

dashboardCards

Facultatif – Tableau

Définit une liste de cartes qui peuvent être épinglées à un tableau de bord, par exemple Microsoft Viva Connections, pour fournir une vue résumée des informations de l’application. Pour en savoir plus sur la création de cartes pour Viva Connections tableau de bord, consultez Vue d’ensemble des extensions de carte adaptative alimentées par bot.

Cet élément est un tableau d’éléments dashboardCard de type object.

dashboardCards.dashboardCard

Définit un tableau de bord unique carte et ses propriétés.

Nom Type Taille maximale Requis Description
id Chaîne ✔️ Identificateur unique pour ce tableau de bord carte. L’ID doit être un GUID.
displayName Chaîne 255 caractères ✔️ Nom d’affichage du carte.
description Chaîne 255 caractères ✔️ Description du carte.
pickerGroupId Chaîne ✔️ ID du groupe dans le sélecteur de carte. L’ID doit être un GUID.
icon Objet Spécifie l’icône pour le carte.
contentSource Objet ✔️ Spécifie la source du contenu de l’carte
defaultSize Chaîne ✔️ Taille de rendu du tableau de bord carte. Options : medium ou large.

dashboardCards.dashboardCard.icon

Définit les propriétés d’icône d’un tableau de bord donné carte.

Nom Type Taille maximale Requis Description
iconUrl Chaîne 2 048 caractères Emplacement de l’icône de l’carte, à afficher dans la boîte à outils et la barre de carte.
officeUIFabricIconName Chaîne 255 caractères Office UI Fabric ou l’icône d’interface utilisateur Fluent nom convivial pour le carte. Cette valeur est utilisée si iconUrl n’est pas spécifié.

dashboardCards.dashboardCard.contentSource

Définit la source de contenu d’un tableau de bord donné carte.

Nom Type Taille maximale Requis Description
sourceType Chaîne Représente la source du contenu d’un carte. Options : bot.
botConfiguration Objet Configuration de la source du bot. Obligatoire si sourceType est défini sur bot.

dashboardCards.dashboardCard.contentSource.botConfiguration

Nom Type Taille maximale Requis Description
botId Chaîne ID d’application Microsoft unique pour le bot inscrit dans le Bot Framework. L’ID doit être un GUID.

Créer un fichier manifeste d’application

Si votre application n’a pas de fichier manifeste d’application, vous devez le créer.

Pour créer un fichier manifeste d’application :

  1. Utilisez l’exemple de schéma de manifeste d’application pour créer un fichier .json.
  2. Enregistrez-le à la racine de votre dossier de projet en tant que manifest.json.

Voici un exemple de schéma de manifeste d’application pour une application à onglet avec l’authentification unique activée :

Remarque

L’exemple de contenu de manifeste d’application présenté ici concerne uniquement une application d’onglet. Il utilise des exemples de valeurs pour l’URI de sous-domaine. Pour plus d’informations, consultez Exemple de schéma de manifeste d’application.

{ 
"$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}" 
}
} 

Voir aussi