Manifeste d’application développeur public en préversion

Pour plus d’informations sur l’activation de la préversion des développeurs, consultez Aperçu publique des développeurs pour Microsoft Teams.

Remarque

Si vous n’utilisez pas les fonctionnalités de préversion pour les développeurs, notamment l’exécution d’onglets personnels Teams et d’extensions de message dans Outlook et l’application Microsoft 365, utilisez le manifeste de l’application (précédemment appelé manifeste d’application Teams) pour les fonctionnalités en disponibilité générale (GA).

Le manifeste de l’application décrit comment l’application s’intègre à la plateforme Microsoft Teams. Votre manifeste d’application doit être conforme au schéma hébergé sur https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json .

Exemple de manifeste d’application

{
    "$schema": "https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json",
    "manifestVersion": "devPreview",
    "version": "1.0.0",
    "id": "%MICROSOFT-APP-ID%",
    "devicePermissions": [
        "geolocation",
        "media"
    ],
    "developer": {
        "name": "Publisher Name",
        "websiteUrl": "https://example.com/",
        "privacyUrl": "https://example.com/privacy",
        "termsOfUseUrl": "https://example.com/app-tos",
        "mpnId": "1234567890"
    },
    "localizationInfo": {
        "defaultLanguageTag": "en",
        "defaultLanguageFile": "en.json",
        "additionalLanguages": [
            {
                "languageTag": "es",
                "file": "es.json"
            }
        ]
    },
    "name": {
        "short": "Name of your app (<=30 chars)",
        "full": "Full name of app, if longer than 30 characters"
    },
    "description": {
        "short": "Short description of your app",
        "full": "Full description of your app"
    },
    "icons": {
        "outline": "%FILENAME-32x32px%",
        "color": "%FILENAME-192x192px",
        "color32x32": "%FILENAME-32x32px%"
    },
    "accentColor": "%HEX-COLOR%",
    "elementRelationshipSet": {
      "oneWayDependencies" : [
        {
          "element" : {
            "name" : "composeExtensions",
            "id" : "composeExtension-id",
            "commandIds": ["exampleCmd1", "exampleCmd2"]
          },
          "dependsOn" : [
              {"name" : "bots", "id" : "bot-id"}
          ]
        }
      ],
      "mutualDependencies" : [
        [
                {"name" : "bots", "id" : "bot-id"}, 
                {"name" : "staticTabs", "id" : "staticTab-id"},
                {"name" : "composeExtensions", "id" : "composeExtension-id"},
                {"name" : "configurableTabs", "id": "configurableTab-id"}
        ]
      ],
    "copilotAgents": {
        "declarativeAgents": [
            {
                "id": "agent1",
                "file": "declarativeAgent1.json"
            }
        ]
    },
    "configurableTabs": [
        {
            "id": "configurableTab-id",
            "configurationUrl": "https://contoso.com/teamstab/configure",
            "canUpdateConfiguration": true,
            "scopes": [
                "team",
                "groupChat"
            ],
            "context": []
        }
    ],
    "staticTabs": [
        {
            "entityId": "idForPage",
            "name": "Display name of tab",
            "contentUrl": "https://contoso.com/content?host=msteams",
            "contentBotId": "Specifies to the app that tab is an Adaptive Card Tab. You can either provide the contentBotId or contentUrl.",
            "websiteUrl": "https://contoso.com/content",
            "scopes": [
                "personal"
            ],
            "requirementSet": {
                "hostMustSupportFunctionalities": [
                  {"name": "dialogUrl"},
                  {"name": "dialogUrlBot"}
                ]
            }
        }
    ],
    "bots": [
        {
            "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
            "needsChannelSelector": false,
            "isNotificationOnly": false,
            "scopes": [
                "team",
                "personal",
                "groupChat"
            ],
            "supportsFiles": true,
            "commandLists": [
                {
                    "scopes": [
                        "team",
                        "groupChat"
                    ],
                    "commands": [
                        {
                            "title": "Command 1",
                            "description": "Description of Command 1"
                        },
                        {
                            "title": "Command N",
                            "description": "Description of Command N"
                        }
                    ]
                },
                {
                    "scopes": [
                        "personal",
                        "groupChat"
                    ],
                    "commands": [
                        {
                            "title": "Personal command 1",
                            "description": "Description of Personal command 1"
                        },
                        {
                            "title": "Personal command N",
                            "description": "Description of Personal command N"
                        }
                    ]
                }
            ],
            "requirementSet": {
                "hostMustSupportFunctionalities": [
                  {"name": "dialogUrl"},
                  {"name": "dialogUrlBot"}
                ]
            }
        }
    ],
    "connectors": [
        {
            "connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL%",
            "configurationUrl": "https://contoso.com/teamsconnector/configure",
            "scopes": [
                "team"
            ]
        }
    ],
    "composeExtensions": [
        {
            "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
            "id": "composeExtension-id",
            "canUpdateConfiguration": true,
            "commands": [
                {
                    "id": "exampleCmd1",
                    "title": "Example Command",
                    "description": "Command Description; e.g., Search on the web",
                    "initialRun": true,
                    "type": "search",
                    "context": [
                        "compose",
                        "commandBox"
                    ],
                    "parameters": [
                        {
                            "name": "keyword",
                            "title": "Search keywords",
                            "description": "Enter the keywords to search for"
                        }
                    ]
                },
                {
                    "id": "exampleCmd2",
                    "title": "Example Command 2",
                    "description": "Command Description; e.g., Search for a customer",
                    "initialRun": true,
                    "type": "action",
                    "fetchTask": true,
                    "context": [
                        "message"
                    ],
                    "parameters": [
                        {
                            "name": "custinfo",
                            "title": "Customer name",
                            "description": "Enter a customer name",
                            "inputType": "text"
                        }
                    ]
                },
                {
                    "id": "exampleMessageHandler",
                    "title": "Message Handler",
                    "description": "Domains that will create a preview when pasted into the compose box",
                    "messageHandlers": [
                        {
                            "type": "link",
                            "value": {
                                "domains": [
                                    "mysite.someplace.com",
                                    "othersite.someplace.com"
                                ]
                            }
                        }
                    ]
                }
            ],
            "requirementSet": {
                "hostMustSupportFunctionalities": [
                  {"name": "dialogUrl"},
                  {"name": "dialogUrlBot"}
                ]
            }
        }
    ],
    "permissions": [
        "identity",
        "messageTeamMembers"
    ],
    "validDomains": [
        "contoso.com",
        "mysite.someplace.com",
        "othersite.someplace.com"
    ],
    "webApplicationInfo": {
        "id": "AAD App ID",
        "resource": "Resource URL for acquiring auth token for SSO"
    },
    "showLoadingIndicator": false,
    "isFullScreen": false,
    "defaultBlockUntilAdminAction": false,
    "publisherDocsUrl": "https://contoso.com/teamtabapp/admin-doc",
    "scopeConstraints": { 
        "teams": [ 
            { "id": "%TEAMS-THREAD-ID" } 
        ], 
        "groupChats": [ 
          { "id": "%GROUP-CHATS-THREAD-ID" } 
        ] 
    },    
    "authorization": {
        "permissions": {
            "resourceSpecific": [
                {
                    "type": "Application",
                    "name": "ChannelSettings.Read.Group"
                },
                {
                    "type": "Delegated",
                    "name": "ChannelMeetingParticipant.Read.Group"
                }
            ]
        }
    },
"actions": [
    {
      "id": "addTodoTask",
      "displayName": "Add ToDo task",
      "intent": "addTo",
      "description": "Add this file with a short note to my to do list",
      "handlers": [
        {
          "type": "openPage",
          "supportedObjects": {
            "file": {
              "extensions": [
                "doc",
                "pdf"
              ]
            }
          },
          "pageInfo": {
            "pageId": "newTaskPage",
            "subPageId": ""
          }
        }
      ]
    },
  ],
    "configurableProperties": [
        "name",
        "shortDescription",
        "longDescription",
        "smallImageUrl",
        "largeImageUrl",
        "accentColor",
        "developerUrl",
        "privacyUrl",
        "termsOfUseUrl"
    ],
    "supportedChannelTypes": [
        "sharedChannels",
        "privateChannels"
    ],
    "defaultInstallScope": "meetings",
    "defaultGroupCapability": {
        "meetings": "tab",
        "team": "bot",
        "groupchat": "bot"
    },
    "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 utilisé par ce manifeste.

version

Obligatoire – Chaîne

Version de l’application spécifique. Si 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 obtient la nouvelle fonctionnalité. Si cette application a été soumise au Microsoft Teams Store, le nouveau manifeste d’application doit être soumis à nouveau et revalidé. Ensuite, les utilisateurs de cette application reçoivent automatiquement le nouveau manifeste d’application mis à jour dans les heures qui suivent son approbation.

Si l’application demande des autorisations change, les utilisateurs sont invités à effectuer une mise à niveau et à donner leur nouveau consentement à 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 préversion et de chaîne de version de métadonnées du standard semver ne sont pas prises en charge.

id

Obligatoire : ID d’application Microsoft

Identificateur unique généré par Microsoft pour cette application. Le format de l’ID est GUID. Si vous avez inscrit un bot via Microsoft Bot Framework, ou si l’application web de votre onglet se connecte déjà avec Microsoft, vous avez peut-être déjà un ID et devez l’entrer ici. Sinon, vous devez générer un nouvel ID dans le portail d’inscription des applications Microsoft (Mes applications), l’entrer ici, puis le réutiliser lorsque vous ajoutez un bot.

developer

Obligatoire – Objet

Spécifie des informations sur le développeur et son activité. Pour les applications du Store Teams, la valeur doit correspondre aux valeurs que vous fournissez dans le formulaire de soumission d’application de l’Espace partenaires.

Nom Type Taille maximale Requis Description
name Chaîne 32 caractères ✔️ Nom complet du développeur.
websiteUrl Chaîne 2 048 caractères ✔️ URL https:// à la page spécifique de l’application sur votre site web.
privacyUrl Chaîne 2 048 caractères ✔️ L’URL https:// à la politique de confidentialité de l’application.
termsOfUseUrl Chaîne 2 048 caractères ✔️ L’URL https:// aux conditions d’utilisation de l’application.
mpnId String 10 caractères L’ID du programme Microsoft Cloud Partner (CCP) (anciennement APPELÉ ID MPN (Microsoft Partner Network) qui identifie le partenaire organization la création de l’application. Optional
contactInfo Objet Informations de contact du développeur de l’application.

developer.contactInfo

Facultatif : objet

Vos informations de contact utilisées par les clients pour vous contacter par le biais d’une conversation ou d’un e-mail Teams. Les clients peuvent avoir besoin d’informations supplémentaires lors de l’évaluation de votre application ou s’ils ont des requêtes sur votre application lorsqu’elle ne fonctionne pas. Les clients peuvent vous contacter à l’aide de la conversation Teams. Demandez donc à vos administrateurs informatiques d’activer les communications externes dans votre organization. Pour plus d’informations, consultez Application fournie par le développeur et informations de contact.

Remarque

Vous devez fournir une seule adresse e-mail de contact.

Nous vous recommandons de trier les requêtes de vos clients en temps voulu et d’acheminer celles-ci en interne au sein de votre organization, par exemple vers d’autres fonctions pour obtenir les réponses. Il permet d’améliorer l’adoption de l’application, de générer la confiance des développeurs et d’augmenter le chiffre d’affaires si vous monétisez l’application.

Nom Type Taille maximale Requis Description
defaultsupport Objet ✔️ Informations de contact par défaut pour votre application.
defaultsupport.userEmailsForChatSupport Tableau 10 ✔️ Email adresse pour recevoir les requêtes des clients à l’aide d’une conversation Teams. Bien que le manifeste de l’application autorise jusqu’à 10 adresses e-mail, Teams utilise uniquement la première adresse e-mail pour permettre aux administrateurs informatiques de communiquer avec vous. L’objet est un tableau avec tous les éléments de la chaîne de type. La longueur maximale de l’e-mail est de 80 caractères.
defaultsupport.emailsForEmailSupport Tableau 1 ✔️ Adresse e-mail de contact pour la demande du client (minimum : 1 ; maximum : 1). L’objet est un tableau avec tous les éléments de la chaîne de type. La longueur maximale de l’e-mail est de 80 caractères.

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 de ce fichier manifeste d’application. Par exemple, en
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 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.

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.

Nom Type Taille maximale Requis Description
short String 30 caractères ✔️ Nom d’affichage court de l’application.
full String 100 caractères ✔️ Nom complet de l’application. Il est 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.

Assurez-vous que votre description décrit avec précision votre expérience et fournit des informations pour aider 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 doit 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.

icons

Obligatoire – Objet

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

Nom Taille maximale Requis Description
outline 2 048 caractères ✔️ Chemin d’accès relatif à un plan PNG transparent 32 x 32. La couleur de bordure doit être blanche.
color 2 048 caractères ✔️ Chemin d’accès relatif à une icône PNG couleur 192 x 192.
color32x32 2048 caractères Chemin d’accès de fichier relatif à une icône PNG de couleur 32 x 32 avec arrière-plan transparent. Utilisé lorsque l’application est épinglée dans Outlook et l’application Microsoft 365.

accentColor

Obligatoire – Chaîne

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

La valeur doit être un code de couleur HTML valide commençant par « # » par exemple #4464ee.

elementRelationshipSet

Facultatif : objet

Décrit les relations entre les fonctionnalités d’application individuelles, notamment staticTabs, configurableTabscomposeExtensions, et bots. Il est utilisé pour spécifier les dépendances d’exécution afin de garantir que l’application ne démarre que dans les hôtes Microsoft 365 applicables, tels que Teams, Outlook et l’application Microsoft 365 (Office). Pour plus d’informations, consultez Comment spécifier les exigences d’exécution dans le manifeste de votre application.

Nom Type Taille maximale Requis Description
oneWayDependencies Tableau Définit une ou plusieurs relations de dépendance unidirectionnelles entre les composants d’application (chacun représenté par un oneWayDependency objet avec un dépendantelement et un dependsOnelement).
mutualDependencies Tableau Définit une ou plusieurs relations de dépendance mutuelle entre les fonctionnalités de l’application (chacune représentée par un mutualDependency tableau d’objetselement).

élément

Facultatif : objet

Décrit une fonctionnalité d’application (element) dans un elementRelationshipSet.

Nom Type Taille maximale Requis Description
name Énumération de chaîne ✔️ Type de fonctionnalité d’application. Valeurs prises en charge : bots, staticTabs, composeExtensions, configurableTabs
id String ✔️ S’il existe plusieurs instances d’un bot, d’un onglet ou d’une extension de message, cette propriété définit une instance spécifique de la fonctionnalité. Il correspond à botId pour les bots, entityId pour les onglets statiques et id pour les onglets configurables et les extensions de message.
commandIds Tableau de chaînes Liste d’une ou de plusieurs commandes d’extension de message qui dépendent de la fonctionnalité spécifiée dependsOn . Utilisez uniquement pour les extensions de message.

elementRelationshipSet.oneWayDependency

Décrit la dépendance unidirectionnelle d’une fonctionnalité d’application (X) à une autre (Y). Si un hôte d’exécution Microsoft 365 ne prend pas en charge une fonctionnalité requise (Y), la fonctionnalité dépendante (X) ne se charge pas et ne s’affiche pas pour l’utilisateur.

Facultatif : objet

Nom Type Taille maximale Requis Description
element Objet ✔️ Représente une fonctionnalité d’application individuelle (représentée par element) qui a une dépendance d’exécution unidirectionnel sur une autre fonctionnalité chargée.
dependsOn Tableau ✔️ Définit une ou plusieurs fonctionnalités d’application (chacune représentée par element) requises pour que le spécifié element se charge.

elementRelationshipSet.mutualDependencies

Décrit un ensemble de dépendances mutuelles entre au moins deux fonctionnalités d’application. Un hôte d’exécution Microsoft 365 doit prendre en charge toutes les fonctionnalités requises pour que l’une de ces fonctionnalités soit disponible pour les utilisateurs de cet hôte.

Facultatif : tableau de tableaux (chacun contenant deux objets ou pluselement)

copilotAgents

Facultatif : objet

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

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 String ✔️ Chemin d’accès relatif dans le package d’application au fichier manifeste de l’agent déclaratif .

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 l’étendue des équipes, et un seul onglet par application est pris en charge.

L’objet est un tableau avec tous les éléments du type object. Ce bloc est requis uniquement pour les solutions qui fournissent une solution d’onglet de canal configurable.

Nom Type Taille maximale Requis Description
id String Identificateur unique pour l’onglet configurable. Utilisé lors de la définition des dépendances de capacité d’application unidirectionnel et mutuelle sous elementRelationshipSet.
configurationUrl Chaîne 2 048 caractères ✔️ URL https:// à utiliser lors de la configuration de l’onglet.
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
scopes Tableau de l’énum 2 ✔️ Les onglets configurables prennent uniquement en charge les team étendues et groupChat .
context Tableau de l’énum 8 L’ensemble des contextItem étendues où un onglet est pris en charge.
Valeurs par défaut : channelTab, privateChatTab, meetingDetailsTabmeetingChatTab, meetingSidePanel, meetingStagepersonalTab.
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 de l’énum 2 Définit la façon dont votre onglet est mis à disposition dans SharePoint. Les options sont sharePointFullPage, sharePointWebPart
meetingSurfaces Tableau de l’énum 2 Ensemble d’étendues meetingSurfaceItem auxquelles appartient un onglet.
Valeurs par défaut : sidePanel, stage
supportedPlatform Tableau de l’énum 3 Ensemble d’étendues supportedPlatform auxquelles appartient un onglet.
Valeurs par défaut : desktop, mobile, teamsMeetingDevices

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. Toutefois, les onglets épinglés peuvent être réorganisés en ajoutant les détails de l’onglet dans le même ordre souhaité. Pour plus d’informations, consultez Réorganiser les onglets personnels statiques.

Cette propriété vous permet également de définir la fonctionnalité d’atterrissage par défaut pour une application prenant en charge les fonctionnalités d’onglet et de bot dans l’étendue personnelle. Pour plus d’informations, consultez Configurer la fonctionnalité d’atterrissage par défaut.

Affichez les onglets avec Cartes adaptatives en spécifiant contentBotId au lieu de contentUrl dans le bloc staticTabs.

L’objet est un tableau (au maximum 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 Le https:// URL qui pointe vers l’interface utilisateur de l’entité à afficher dans le canevas Teams.
contentBotId String ID d’application Microsoft Teams spécifié pour le bot dans le portail Bot Framework.
websiteUrl Chaîne 2 048 caractères Le https:// URL à pointer vers si un utilisateur choisit d’afficher dans un navigateur.
scopes Tableau de l’énum 3 ✔️ Les onglets statiques prennent en charge les personalétendues , teamet groupChat , ce qui signifie qu’ils peuvent être provisionnés dans le cadre de l’expérience de réunion personnelle, de conversation de groupe et de canal.
searchUrl Chaîne 2 048 caractères L’URL https:// pour diriger les requêtes de recherche d’un utilisateur.
context Tableau de l’énum 8 Ensemble d’étendues contextItem auxquelles appartient un onglet.
Valeurs par défaut : personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab, meetingSidePanel, meetingStage, teamLevelApp
supportedPlatform Tableau de l’énum 3 Ensemble d’étendues supportedPlatform auxquelles appartient un onglet.
Valeurs par défaut : desktop, mobile, teamsMeetingDevices
requirementSet Objet Conditions d’exécution requises pour que l’onglet fonctionne correctement dans l’application hôte Microsoft 365. Si une ou plusieurs des conditions requises ne sont pas prises en charge par l’hôte d’exécution, l’hôte ne charge pas l’onglet.

staticTabs.requirementSet

Facultatif : objet

Nom Type Taille maximale Requis Description
requirementSet.hostMustSupportFunctionalities Tableau d’objets ✔️ Spécifie une ou plusieurs fonctionnalités d’exécution dont l’onglet a besoin pour fonctionner correctement. Valeurs prises en charge : dialogUrl, dialogUrlBot, dialogAdaptiveCard, dialogAdaptiveCardBot. Pour plus d’informations, consultez Comment spécifier les exigences d’exécution dans le manifeste de votre application.

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’objet est un tableau (au maximum 1 é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.
needsChannelSelector Boolean Indique si le bot utilise un indicateur 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
scopes Tableau de l’énum 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.
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
requiresSecurityEnabledGroup Boolean Valeur indiquant si la sécurité du groupe Office de l’équipe doit être activée.
Valeur par défaut: false
requirementSet Objet Conditions d’exécution requises pour que le bot fonctionne correctement dans l’application hôte Microsoft 365. Si une ou plusieurs des exigences ne sont pas prises en charge par l’hôte d’exécution, l’hôte ne charge pas le bot.

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 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.
groupChat.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.
groupChat.taskInfo.url Chaîne 2 048 caractères URL webview initiale.

bots.commandLists

Facultatif – Tableau

Liste facultative de commandes que votre bot peut recommander aux utilisateurs. L’objet est un tableau (3 é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 de l’énum 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.

bots.commandLists.commands

Obligatoire – Tableau

Nom Type Taille maximale Requis Description
title Chaîne 32 caractères ✔️ 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.

bots.requirementSet

Facultatif : objet

Nom Type Taille maximale Requis Description
requirementSet.hostMustSupportFunctionalities Tableau d’objets ✔️ Spécifie une ou plusieurs fonctionnalités d’exécution dont le bot a besoin pour fonctionner correctement. Valeurs prises en charge : dialogUrl, dialogUrlBot, dialogAdaptiveCard, dialogAdaptiveCardBot. Pour plus d’informations, consultez Comment spécifier les exigences d’exécution dans le manifeste de votre application.

connecteurs

Facultatif – Tableau

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

L’objet est un tableau (maximum 1 élément) avec tous les éléments de type object. Ce bloc est requis uniquement pour les solutions qui fournissent un connecteur. Un seul connecteur par application est pris en charge.

Nom Type Taille maximale Requis Description
configurationUrl Chaîne 2 048 caractères Url https:// à utiliser lors de la configuration du connecteur à l’aide de l’expérience de configuration inline.
connectorId String 64 caractères ✔️ Identificateur unique du connecteur qui correspond à son ID dans le tableau de bord du développeur de connecteurs.
scopes Tableau de l’énum 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.

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’objet est un tableau (maximum 1 é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
id String Identificateur unique de l’extension de message. Utilisé lors de la définition des dépendances de capacité d’application unidirectionnel et mutuelle sous elementRelationshipSet.
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 globale.
composeExtensionType String Type de l’extension de message. 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 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: true
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. Les domaines doivent également être répertoriés dans validDomains.
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.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
Pour activer l’installation zéro pour le déploiement de liaison, la valeur doit être définie sur true.
Remarque : la propriété supportAnonymousAccess est remplacée par supportsAnonymizedPayloads.
type Type de l’extension de message. Les valeurs prises en charge sont apiBased ou botBased.
requirementSet Objet Conditions d’exécution requises pour que l’extension de message fonctionne correctement dans l’application hôte Microsoft 365. Si une ou plusieurs des conditions requises ne sont pas prises en charge par l’hôte d’exécution, l’hôte ne charge pas l’extension de message.

composeExtensions.commands

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

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 64 caractères Type de la commande. L’un des query ou action. 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. Pour les scénarios Microsoft 365 Copilot, cette propriété est requise pour réussir la validation de l’application pour l’envoi du Store.
samplePrompts.text string 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 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 Valeur booléenne qui indique si la commande s’exécute initialement sans paramètre.
Valeur par défaut: false
fetchTask Boolean Valeur booléenne qui indique si la boîte de dialogue doit être extraite dynamiquement.
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 16 caractères Largeur de la boîte de dialogue : nombre en pixels ou disposition par défaut telle que large, mediumou small.
taskInfo.height String 16 caractères Hauteur de la boîte de dialogue : nombre en pixels ou disposition par défaut telle que large, mediumou small.
taskInfo.url Chaîne 2 048 caractères 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. Cela est inclus dans la demande de l’utilisateur.
Pour l’extension de message basée sur l’API, le nom doit être mappé au parameters.name dans la description OpenAPI. Si vous référencez une propriété dans le schéma du corps de la demande, le nom doit être mappé aux properties.name paramètres de requête ou .
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 les grands modèles de langage (LLM).
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.value String 512 caractères Valeur initiale du paramètre.
parameters.choices Tableau d’objets 10 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.

composeExtensions.requirementSet

Facultatif : objet

Nom Type Taille maximale Requis Description
requirementSet.hostMustSupportFunctionalities Tableau d’objets ✔️ Spécifie une ou plusieurs fonctionnalités d’exécution dont l’extension de message a besoin pour fonctionner correctement. Valeurs prises en charge : dialogUrl, dialogUrlBot, dialogAdaptiveCard, dialogAdaptiveCardBot. Pour plus d’informations, consultez Comment spécifier les exigences d’exécution dans le manifeste de votre application.

scopeConstraints

Contraintes d’étendue imposées à une application pour spécifier les threads dans lesquels vous pouvez installer l’application. Quand aucune contrainte n’est spécifiée, vous pouvez installer l’application sur tous les threads dans l’étendue spécifique.

Facultatif : objet

Nom Type Taille maximale Requis Description
teams Tableau 128 Liste des ID de thread d’équipe auxquels votre application est limitée.
teams.id String 64 caractères ✔️ ID de thread de l’équipe.
groupChats Tableau 128 Liste des ID de thread de conversation auxquels votre application est limitée.
groupChats.id String 64 caractères ✔️ ID de thread de la conversation.

autorisations

Facultatif : tableau de chaînes

Tableau de string, qui spécifie les autorisations que l’application demande, ce qui permet aux utilisateurs finaux de savoir comment l’extension fonctionne. Les options suivantes sont nonclusives :

  • 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 lors de la mise à jour de votre application amène vos utilisateurs à répéter le processus de consentement la première fois qu’ils exécutent l’application mise à jour.

devicePermissions

Facultatif : tableau de chaînes

Spécifie les fonctionnalités natives sur l’appareil d’un utilisateur auxquelles votre application peut demander l’accès. Les options sont :

  • geolocation
  • media
  • notifications
  • midi
  • openExternal

validDomains

Facultatif, sauf Obligatoire lorsque indiqué.

Liste des domaines valides à partir desquels l’application s’attend à charger tout contenu. 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 configuration d’onglet ou votre interface utilisateur de contenu doit accéder à n’importe quel autre domaine en dehors de celui utilisé pour la configuration des onglets, ce domaine doit être spécifié ici.

Remarque

Les compléments Office, configurés avec une extensions propriété dans le manifeste, ignorent les domaines contenant un caractère générique. Si votre application incorpore un complément Office, spécifiez le nom de domaine complet pour les domaines auxquels le complément accède.

Toutefois, il n’est pas nécessaire d’inclure 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, mais vous ne devez pas inclure accounts.google.com dans validDomains[].

Importante

N’ajoutez pas de domaines qui sont en dehors de votre contrôle, 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.

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

Spécifiez votre ID d’application Microsoft Entra et les informations Graph pour aider les utilisateurs à se connecter en toute transparence à votre application Microsoft Entra.

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 d’authentification pour l’authentification unique.

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 ✔️ URL https:// où les notifications du connecteur Graph pour l’application doivent être envoyées.

showLoadingIndicator

Facultatif : booléen

Indique s’il faut afficher l’indicateur de chargement lors du chargement d’une application ou d’un onglet.
Valeur par défaut: 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

Indiquez où une application personnelle est affichée avec ou sans barre d’en-tête d’onglet.
Valeur par défaut: false

Remarque

isFullScreen fonctionne uniquement pour les applications publiées dans votre organisation.

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 Indiquez les types d’activités que votre application peut publier dans un flux d’activités utilisateurs. Le systemDefault type d’activité est une chaîne réservée et non valide.

activities.activityTypes

Nom Type Taille maximale Requis Description
type Chaîne 32 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"
         }
      ]
   }
}

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.

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 : Description courte de l’application.
  • longDescription : description détaillée de l’application.
  • smallImageUrl : Icône de contour de l’application.
  • largeImageUrl : Icône de couleur de l’application.
  • accentColor: couleur à utiliser avec et comme 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. Les types de canaux privés et partagés sont pris en charge.

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

Valeur qui indique si une application est bloquée par défaut jusqu’à ce que l’administrateur l’autorise.
Valeur par défaut: false

publisherDocsUrl

Facultatif : chaîne

Le https:// URL de la page qui fournit des informations supplémentaires sur l’application pour les administrateurs. La longueur maximale de la chaîne est de 2 048 caractères.

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 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.

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 Scènes de réunion prise en charge.
supportsStreaming Boolean Valeur booléenne 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
videoFiltersConfigurationUrl Chaîne 2 048 caractères URL https:// pour la configuration des filtres vidéo.
supportsAnonymousGuestUsers Boolean Valeur booléenne qui indique si l’application prend en charge l’accès par les utilisateurs invités anonymes.
Valeur par défaut: false

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.

meetingExtensionDefinition.videoFilters

Cet objet indique les filtres vidéo pris en charge pour les réunions.

Nom Type Taille maximale Requis Description
id String ✔️ Identificateur unique du filtre vidéo. Cet ID doit être un GUID.
name Chaîne 128 caractères ✔️ Nom du filtre vidéo.
thumbnail Chaîne 2 048 caractères ✔️ Chemin d’accès du fichier relatif à la miniature du filtre vidéo.

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 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 d’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.
appDeeplinks Tableau Ne pas utiliser. Pour un usage interne Microsoft uniquement.

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 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é.
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 8 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, meetingDetailsOrganizermeetingDetailsAttendee, , onlineMeetingDetailsOrganizer, logEventMeetingDetailsAttendee, spamReportingOverride,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 d’un objet tab qui peuvent être incluses avec cette propriété 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, 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. 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. MobileButton est uniquement 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.
fixedControls Tableau 1 Configure le bouton d’un complément de création de rapports de courrier indésirable intégré dans Outlook. Doit configurer si spamReportingOverride est spécifié dans le extensions.ribbons.contexts tableau.
fixedControls.id String 64 caractères ✔️ Spécifie l’ID unique du bouton d’un complément de signalement de courrier indésirable.
fixedControls.type String ✔️ Définit le type de contrôle d’un complément de création de rapports de courrier indésirable.
Valeur prise en charge : button
fixedControls.label String 64 caractères ✔️ Spécifie le texte qui s’affiche sur le bouton d’un complément de signalement de courrier indésirable.
fixedControls.enabled Boolean ✔️ Cette propriété doit être spécifiée dans l’objet fixedControls . Toutefois, cela n’affecte pas les fonctionnalités d’un complément de création de rapports de courrier indésirable.
Valeur par défaut: True
fixedControls.icons Tableau 3 ✔️ Définit les icônes du bouton d’un complément de signalement de courrier indésirable. Il doit y avoir au moins trois objets enfants, chacun avec des tailles d’icône de 16pixels , 32et 80 respectivement.
fixedControls.icons.size Nombre ✔️ Spécifie la taille de l’icône en pixels, énumérée en tant que , , , , , , , 64, et 80. 484032242016
Tailles d’image requises : 16, 32, 80
fixedControls.icons.url Chaîne 2 048 caractères ✔️ Spécifie l’URL absolue de l’icône.
fixedControls.supertip Objet ✔️ Configure une super-info pour le bouton d’un complément de création de rapports de courrier indésirable.
fixedControls.supertip.title String 64 caractères ✔️ Spécifie le texte de titre de l’info-bulle.
fixedControls.supertip.description String 250 caractères ✔️ Spécifie la description de l’info-bulle.
fixedControls.actionId String 64 caractères ✔️ Spécifie l’ID de l’action effectuée lorsqu’un utilisateur sélectionne le bouton d’un complément de signalement de courrier indésirable. doit actionId correspondre à la runtime.actions.id propriété d’une action dans l’objet runtimes .
spamPreProcessingDialog Objet Configure la boîte de dialogue de prétraitement d’un complément de création de rapports de courrier indésirable intégré dans Outlook.
spamPreProcessingDialog.title Chaîne 128 caractères ✔️ Spécifie le titre personnalisé de la boîte de dialogue de prétraitement d’un complément de création de rapports de courrier indésirable.
spamPreProcessingDialog.description String 250 caractères ✔️ Spécifie le texte personnalisé qui apparaît dans la boîte de dialogue de prétraitement d’un complément de création de rapports de courrier indésirable.
spamPreProcessingDialog.spamReportingOptions Objet Spécifie jusqu’à cinq options qu’un utilisateur peut sélectionner dans la boîte de dialogue de prétraitement pour fournir une raison pour signaler un message.
spamPreProcessingDialog.spamReportingOptions.title Chaîne 128 caractères ✔️ Spécifie le texte ou le titre personnalisé pour décrire les options de création de rapports fournies dans la boîte de dialogue de prétraitement.
spamPreProcessingDialog.spamReportingOptions.options Tableau de chaînes 5 options

128 caractères par option
✔️ Spécifie une option personnalisée avec une case à cocher qu’un utilisateur peut sélectionner dans la boîte de dialogue de prétraitement pour fournir une raison pour signaler un message. Au moins une option doit être spécifiée. Cinq options maximum peuvent être incluses.
spamPreProcessingDialog.spamFreeTextSectionTitle Chaîne 128 caractères Ajoute une zone de texte à la boîte de dialogue de prétraitement pour permettre aux utilisateurs de fournir des informations supplémentaires sur le message qu’ils signalent. La chaîne fournie dans cette propriété apparaît au-dessus de la zone de texte.
spamPreProcessingDialog.spamMoreInfo Objet Configure un lien pour fournir des ressources d’information à un utilisateur. Dans la boîte de dialogue de prétraitement, le lien apparaît sous le texte fourni dans spamPreProcessingDialog.description.
spamPreProcessingDialog.spamMoreInfo.text Chaîne 128 caractères ✔️ Spécifie le texte du lien d’une URL qui dirige les utilisateurs vers des ressources d’information à partir de la boîte de dialogue de prétraitement.
spamPreProcessingDialog.spamMoreInfo.url Chaîne 2 048 caractères ✔️ Spécifie l’URL HTTPS d’un site qui contient des ressources d’information.

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

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.

actions

Remarque

L’objet est un tableau d’objets action. Ce bloc est requis uniquement pour les solutions qui fournissent des actions.

Nom Type Taille maximale Requis Description
id String 64 caractères ✔️ Chaîne d’identificateur dans les paramètres régionaux par défaut qui est utilisée pour cataloguer les actions. Doit être unique dans toutes les actions de cette application. Par exemple, openDocInContoso.
displayName String 64 caractères ✔️ Nom d’affichage de l’action. Mettre en majuscules la première lettre et le nom de marque. Par exemple, Ajouter aux fournisseurs, Ouvrir dans Contoso et Demander des signatures.
description String ✔️ Spécifie la description des actions.
intent Énumération de chaîne ✔️ Spécifie le type d’intention. Les valeurs d’énumération prises en charge sont open, addToet custom.
handlers Tableau d’objets ✔️ Un tableau d’objets gestionnaires définit la façon dont les actions sont gérées. Dans la préversion publique actuelle, ajoutez un gestionnaire unique pour chaque action.

actions.handlers

Définit les gestionnaires de l’action. Les gestionnaires sont un tableau d’objets gestionnaires. Chaque action doit avoir au moins un gestionnaire.

Nom Type Taille maximale Requis Description
supportedObjects Objet Objets définissant les objets qui peuvent déclencher cette action.
type Énumération de chaîne ✔️ Spécifie le type de gestionnaire d’Actions. La valeur d’énumération prise en charge est openPage.
pageInfo Objet Obligatoire si le type de gestionnaire est openPage. Objet contenant les métadonnées de la page à ouvrir.

actions.handlers.supportedObjects

Types d’objets pris en charge qui peuvent déclencher cette action.

Nom Type Taille maximale Requis Description
file Objet Types de fichiers pris en charge.
file.extensions Tableau de chaînes Tableau de chaînes. Extensions de fichier du type de fichier que l’action peut déclencher. Par exemple, pdf et docx.

actions.handlers.pageInfo

Obligatoire si le type de gestionnaire est openPage. Objet contenant les métadonnées de la page à ouvrir.

Nom Type Taille maximale Requis Description
PageId String Mappe au EntityId de l’onglet statique.
SubPageId String Mappe au SubEntityId de l’onglet statique.

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 plus d’informations sur la création de cartes pour Viva Connections tableau de bord, consultez Vue d’ensemble des extensions de carte adaptatives alimentées par bot.

La dashboardCards propriété est un tableau d’éléments du 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 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 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.

Voir aussi