Partager via


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.19/MicrosoftTeams.schema.json . Les versions précédentes 1.0, 1.1,...,1.17 et la version actuelle 1.19 sont prises en charge (en utilisant « v1.x » dans l’URL). La version 1.18 n’est pas disponible. 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 n’est 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.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
            }
        ]
    }
}

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 Type Taille maximale Requis Description
name Chaîne 32 caractères ✔️ Nom complet du développeur.
websiteUrl Chaîne 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 Chaîne 2 048 caractères ✔️ L’URL https:// vers la politique de confidentialité du développeur.
termsOfUseUrl Chaîne 2 048 caractères ✔️ L’URL https:// vers les conditions d’utilisation du développeur.
mpnId String 10 caractères Optionnel L’ID du programme Microsoft Cloud Partner (anciennement APPELÉ ID MPN (Microsoft Partner Network) qui identifie le partenaire organization la création de 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 Type Taille maximale Requis Description
short String 30 caractères ✔️ Nom d’affichage court de l’application. Utilisez short la propriété où l’espace est limité, comme l’en-tête d’application.
full String 100 caractères ✔️ Le nom complet de l’application, utilisé si le nom complet de l’application dépasse 30 caractères. Utilisez full la propriété là où il y a plus d’espace, comme le catalogue d’applications ou la page des détails de l’application.

Remarque

  • Dans le manifeste d’application version 1.17 ou ultérieure, la full propriété est requise et, pour le manifeste d’application v1.16 ou version antérieure, elle n’est pas obligatoire.
  • La short propriété est utilisée sur toutes les surfaces de l’interface utilisateur.

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 Type Taille maximale Requis Description
short String 80 caractères ✔️ Brève description de l’expérience de votre application, utilisée lorsque l’espace est limité.
full String 4 000 caractères ✔️ Description complète de votre application.

localizationInfo

Facultatif : objet

Autorise la spécification d’une langue par défaut et pointe vers des fichiers de langue supplémentaires. Consultez localisation.

Nom Type Taille maximale Requis Description
defaultLanguageTag String ✔️ Balise de langue pour les chaînes dans ce fichier manifeste d’application de niveau supérieur. La valeur par défaut est en-us.
defaultLanguageFile Chaîne 2 048 caractères Chemin d’accès relatif au fichier .json qui contient les chaînes. Si elles ne sont pas spécifiées, les chaînes sont extraites directement du fichier manifeste de l’application. Un fichier de langue par défaut est requis pour les agents Copilot qui prennent en charge plusieurs langues.

localizationInfo.additionalLanguages

Tableau d’objets, chacun avec les propriétés suivantes pour spécifier des traductions de langue supplémentaires.

Nom Type Taille maximale Requis Description
languageTag String ✔️ Balise de langue des chaînes dans le fichier fourni. Par exemple, es
file Chaîne 2 048 caractères ✔️ Chemin d’accès relatif au fichier .json qui contient 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 Type Taille maximale Requis Description
outline String 32 x 32 pixels ✔️ Chemin d’accès relatif à un plan PNG transparent 32 x 32. La couleur de bordure doit être blanche.
color String 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.

copilotAgents

Facultatif : objet

Définit un ou plusieurs agents à Microsoft 365 Copilot. Les agents déclaratifs sont des personnalisations de Microsoft 365 Copilot qui s’exécutent sur les mêmes modèles d’orchestrateur et de base.

Nom Type Taille maximale Requis Description
declarativeAgents Tableau d’objets 1 ✔️ Tableau d’objets qui définissent chacun un agent déclaratif.

declarativeAgents

Représente une personnalisation de Microsoft 365 Copilot, telle que définie par son fichier manifeste.

Nom Type Taille maximale Requis Description
id String ✔️ Identificateur unique de l’agent. Lorsque vous utilisez Microsoft Copilot Studio pour générer des agents, cela est généré automatiquement. Sinon, affectez manuellement la valeur en fonction de vos propres conventions ou préférences.
file Chaîne 2 048 caractères ✔️ Chemin d’accès relatif au fichier manifeste de l’agent déclaratif dans le package d’application.

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 ✔️ Les onglets configurables prennent uniquement en charge les team étendues 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.
Valeurs 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 2 048 caractères 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 ✔️ Spécifie si l’onglet offre une expérience dans le contexte d’un canal dans une équipe ou une expérience étendue à une conversation individuelle d’utilisateur ou de groupe. Les onglets statiques prennent uniquement en charge personal l’étendue.
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 , 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 String ✔️ 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 Boolean Indique si le bot utilise ou non un conseil de l’utilisateur pour ajouter le bot à un canal spécifique.
Valeur par défaut: false
isNotificationOnly Boolean Indique si un bot est unidirectionnel, de notification uniquement, par opposition à un bot conversationnel.
Valeur 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.
Valeur par défaut: false
supportsCalling Boolean Valeur indiquant où un bot prend en charge les appels audio. IMPORTANT : cette propriété est 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.
Valeur par défaut: false
supportsVideo Boolean Valeur indiquant où un bot prend en charge les appels vidéo. IMPORTANT : cette propriété est 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.
Valeur par défaut: false

bots.configuration

Facultatif : objet

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 Objet ✔️ Boîte de dialogue à précharger lorsque vous utilisez un bot
team.taskInfo.title String 64 caractères ✔️ Titre de la boîte de dialogue initiale.
team.taskInfo.width Chaîne 16 caractères 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 String 16 caractères 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 Boolean ✔️ 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 String 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

Facultatif – Tableau

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

Nom Type Taille maximale Requis Description
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.
commands Tableau d’objets 10 ✔️ Tableau de commandes pris en charge par le bot.

Remarque

Le client mobile Teams ne prend pas en charge l’application bot lorsqu’il n’y a aucune valeur dans la commandLists propriété .

bots.commandLists.commands

Obligatoire – Tableau

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). L’étendue team est uniquement 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 String 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 String ✔️ 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ée sur l’API.
authorization.authType String É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 Boolean 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 Boolean Valeur indiquant si la configuration d’une extension de message peut être mise à jour par l’utilisateur.
Valeur par défaut: false
commands Tableau d’objets 10 ✔️ Tableau de commandes prises en charge par l’extension de message.
messageHandlers Tableau d’objets 5 Liste des gestionnaires qui permettent d’appeler des applications lorsque certaines conditions sont remplies.
messageHandlers.type String 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 Boolean Valeur booléenne qui indique si le gestionnaire de messages de lien de l’application prend en charge le flux d’appel anonyme.
Valeur par défaut: 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
id String 64 caractères ✔️ ID de la commande.
type String Type de la commande. L’un des query ou action.
Valeur par défaut: query
samplePrompts Tableau 5 Propriété utilisée par Microsoft 365 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 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 String 5 000 caractères Description sémantique de la commande pour la consommation par Microsoft 365 Copilot à l’aide de modèles LLM (Large Language Models).
initialRun Boolean Une valeur booléenne indique si la commande s’exécute initialement sans paramètre.
Valeur par défaut: false
fetchTask Boolean 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).
Valeur par défaut: 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 : nombre en pixels ou valeurs de disposition par défaut telles que large, mediumou small.
taskInfo.height String Hauteur de la boîte de dialogue : nombre en pixels ou valeurs de disposition par défaut telles que large, mediumou small.
taskInfo.url Chaîne URL webview initiale.
parameters Tableau d’objets 5 Liste des paramètres que prend la commande.
parameters.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.
parameters.title Chaîne 32 caractères ✔️ Titre convivial du paramètre.
parameters.description Chaîne 128 caractères Chaîne conviviale qui décrit l’objectif de ce paramètre.
parameters.semanticDescription Chaîne 2 000 caractères Description sémantique du paramètre pour la consommation par Microsoft 365 Copilot à l’aide de modèles LLM (Large Language Models).
parameters.value String 512 caractères Valeur initiale du paramètre. La valeur n’est pas prise en charge.
parameters.inputType String Définit le type de contrôle affiché dans une boîte de dialogue pour fetchTask: false. La valeur d’entrée ne peut être que , texttextarea, number, date, time, toggle, choiceset.
Valeur par défaut: text
parameters.choices Tableau d’objets 10 éléments Options de choix pour le choiceset. Utilisez uniquement lorsque parameters.inputType est choiceset.
parameters.choices.title Chaîne 128 caractères ✔️ Titre du choix.
parameters.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 le cas échéant) – Tableau de chaînes

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

Remarque

La webApplicationInfo propriété est liée à un seul domaine et n’est pas prise en charge pour plusieurs domaines. Par conséquent, si vous avez deux applications hébergées sur des domaines différents, vous devez créer des manifestes d’application distincts pour chaque application.

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 String ✔️ 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. La valeur de chaîne d’URL factice ne doit pas contenir de domaines ou d’URL qui ne sont pas sous votre contrôle, que ce soit directement ou par le biais de caractères génériques. Par exemple, yourapp.onmicrosoft.com est valide, mais *.onmicrosoft.com n’est pas valide. Les domaines de niveau supérieur sont interdits, par exemple, *.com, *.org.

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). Valeur par défaut: 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 String 64 caractères ✔️ Le type de notification.
description Chaîne 128 caractères ✔️ Une brève description de la notification.
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.

Nom Type Taille maximale Requis Description
team String 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 String 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 String 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 Chaîne 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).
Valeur par défaut: false
supportsAnonymousGuestUsers Boolean Valeur qui indique si une application prend en charge l’accès pour les utilisateurs anonymes.
Valeur par défaut: 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 String ✔️ 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 String ✔️ 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 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 l’équipe et d’obtenir des informations associées à l’accès, telles que le nom et le rôle, sur la liste de l’équipe et toutes les réunions associées, 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 la conversation et d’obtenir des informations associées à l’accès, telles que le nom et le rôle, sur la liste de la conversation et les réunions associées, 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 du contenu 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 20 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 20 Définit le point d’extension des rubans.
autoRunEvents Tableau 10 Définit le point d’extension d’activation basée sur les événements.
alternates Tableau 10 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
capabilities Tableau 100 Identifie les ensembles de conditions requises.
capabilities.name String ✔️ Identifie le nom de l’ensemble de conditions requises.
capabilities.minVersion String Identifie la version minimale de l’ensemble de conditions requises.
capabilities.maxVersion String Identifie la version maximale de l’ensemble de conditions requises.
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
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

Facultatif – Tableau

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 Chaîne 2 048 caractères ✔️ 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 Chaîne 2 048 caractères 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.
Valeur par défaut: short
actions Tableau 20 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 String ✔️ 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 Boolean 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 Boolean Spécifie si l’utilisateur final peut sélectionner plusieurs éléments, tels que plusieurs e-mails, et appliquer l’action à tous.
Valeur par défaut: false
actions.supportsNoItemContext Boolean Autorise l’activation des compléments du volet Office sans que le volet de lecture soit activé ou qu’un message soit sélectionné.
Valeur par défaut: false
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 String ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion String Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion String 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

Facultatif – Tableau

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 String ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion String Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion String 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 20 ✔️ 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é. Pour plus d’informations sur les valeurs possibles, consultez les ID des onglets du ruban Office intégrés. Les seules autres propriétés enfants de l’objet tab qui peuvent être combinées avec celle-ci sont groups et customMobileRibbonGroups.
tabs.label String 64 caractères Spécifie le texte affiché pour l’onglet. Malgré la longueur maximale de 64 caractères, pour aligner correctement l’onglet dans le ruban, nous vous recommandons de limiter l’étiquette à 16 caractères.
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 10 Définit des groupes de contrôles sur un onglet de ruban sur un appareil non mobile. Pour les appareils mobiles, consultez tabs.customMobileRibbonGroups.
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. Malgré la longueur maximale de 64 caractères, pour aligner correctement l’onglet dans le ruban, nous vous recommandons de limiter l’étiquette à 16 caractères.
tabs.groups.icons Tableau 3 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 Chaîne 2 048 caractères ✔️ 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 String ✔️ Spécifie l’ID d’un élément de menu.
tabs.groups.controls.items.type Énumération de chaîne ✔️ Définit le type de contrôle de l’élément de menu.
Valeurs prises en charge : button
tabs.groups.controls.items.label String 64 caractères ✔️ Spécifie le texte affiché pour l’élément de menu.
tabs.groups.controls.items.icons Tableau Configure les icônes de l’élément de menu.
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 info-bulle pour l’élément de menu. 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 à une runtimes.actions.id valeur de propriété.
tabs.groups.controls.items.enabled Boolean Indique si l’élément de menu est initialement activé.
Valeur par défaut: true
tabs.groups.controls.items.overriddenByRibbonApi Boolean Spécifie si l’élément de menu est masqué sur les combinaisons d’applications et de plateformes qui prennent en charge l’API (Office.ribbon.requestCreateControls). Cette API installe des onglets contextuels personnalisés sur le ruban.
Valeur par défaut: false
tabs.groups.controls.type String ✔️ 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. Cette propriété ne peut pas être combinée avec d’autres propriétés enfants de l’objet de contrôle, car les contrôles intégrés ne sont pas personnalisables par un complément.
tabs.groups.controls.label String 64 caractères ✔️ Spécifie le texte affiché pour le contrôle. Malgré la longueur maximale de 64 caractères, pour aligner correctement l’onglet dans le ruban, nous vous recommandons de limiter l’étiquette à 16 caractères.
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
Tailles d’image requises : 16, 32, 80
tabs.groups.controls.icons.url URL Spécifie l’URL absolue du fichier d’icône.
tabs.groups.controls.supertip Objet ✔️ Configure une super-info pour le contrôle. 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.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 Boolean Indique si le contrôle est initialement activé.
Valeur par défaut: true
tabs.groups.controls.overriddenByRibbonApi Boolean Spécifie si le contrôle est masqué sur les combinaisons d’applications et de plateformes qui prennent en charge l’API (Office.ribbon.requestCreateControls). Cette API 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. Cette propriété ne peut pas être combinée avec d’autres propriétés enfants de l’objet groupe, car les groupes intégrés ne sont pas personnalisables par un complément.
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 String 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 String 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.
Valeur prise en charge : MobileButton
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 apparaissent 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 requises 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

Facultatif – Tableau

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 String ✔️ 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 String ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion String Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion String 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

Facultatif – Tableau

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 String ✔️ Identifie le nom de l’ensemble de conditions requises.
requirements.capabilities.minVersion String Identifie la version minimale de l’ensemble de conditions requises.
requirements.capabilities.maxVersion String 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 ✔️ 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.
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 ✔️ 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.
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 String ✔️ Identificateur unique pour ce tableau de bord carte. L’ID doit être un GUID.
displayName String 255 caractères ✔️ Nom d’affichage du carte.
description String 255 caractères ✔️ Description du carte.
pickerGroupId String ✔️ 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 String ✔️ 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 String 255 caractères Nom convivial de l’icône d’interface utilisateur Office UI Fabric ou Fluent 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 String Représente la source du contenu d’un carte. Option : bot.
botConfiguration Objet Configuration de la source du bot. Obligatoire si est sourceType défini sur bot.

dashboardCards.dashboardCard.contentSource.botConfiguration

Nom Type Taille maximale Requis Description
botId String 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