Manifeste d'application
Le manifeste de l’application (précédemment appelé manifeste d’application Teams) décrit comment votre application s’intègre au produit Microsoft Teams. Votre manifeste d’application doit être conforme au schéma hébergé sur https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.json . Les versions précédentes 1.0, 1.1,...,1.17 et la version actuelle 1.19 sont prises en charge (en utilisant « v1.x » dans l’URL). La version 1.18 n’est pas disponible. Pour plus d’informations sur les modifications apportées dans chaque version, consultez journal des modifications du manifeste d’application et pour les versions précédentes, consultez Versions du manifeste d’application.
Le tableau suivant répertorie les versions teamsJS et les versions du manifeste d’application en fonction des différents scénarios d’application :
Type d’application | Version de TeamsJS | Version du manifeste de l’application | Étapes suivantes |
---|---|---|---|
Applications Teams étendues dans Outlook et Microsoft 365 | TeamsJS v.2.19.0 ou version ultérieure | v.1.13 ou version ultérieure | Étendre une application Teams pour l’exécuter sur Microsoft 365 ou Créer une application Microsoft 365 |
Applications Teams uniquement existantes | Mettre à jour vers TeamsJS v.2.19.0 si possible (v.1.12 est toujours pris en charge*) | 1.12 | Comprendre la compatibilité descendante de TeamsJS et Mise à jour vers TeamsJS v.2.0 |
Nouvelles applications Teams uniquement | TeamsJS v.2.19.0 ou version ultérieure | 1.12 | Créer une application Teams à l’aide du kit de ressources Teams |
* Utilisez la dernière version de TeamsJS (v.2.19.0 ou ultérieure) chaque fois que possible, pour tirer parti des dernières améliorations et de la prise en charge des nouvelles fonctionnalités, y compris les applications Teams uniquement. TeamsJS v.1.12 continue d’être pris en charge, mais aucune nouvelle fonctionnalité ou amélioration n’est ajoutée. Les schémas 1.12 et 1.13 sont sinon les mêmes. Pour plus d’informations, consultez Bibliothèque TeamsJS.
Remarque
Si votre application Teams utilise le manifeste d’application version 1.13 ou ultérieure, assurez-vous que votre application répond aux critères permettant d’étendre l’exécution de votre application dans Microsoft 365 ou Outlook.
Voici l’exemple de schéma de manifeste d’application :
Exemple de manifeste d’application
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.json",
"manifestVersion": "1.19",
"version": "1.0.0",
"id": "%MICROSOFT-APP-ID%",
"localizationInfo": {
"defaultLanguageTag": "en",
"defaultLanguageFile": "en.json",
"additionalLanguages": [
{
"languageTag": "es",
"file": "es.json"
}
]
},
"developer": {
"name": "Publisher Name",
"websiteUrl": "https://example.com/",
"privacyUrl": "https://example.com/privacy",
"termsOfUseUrl": "https://example.com/app-tos",
"mpnId": "1234567890"
},
"name": {
"short": "Name of your app (<=30 chars)",
"full": "Full name of app, if longer than 30 characters (<=100 chars)"
},
"description": {
"short": "Short description of your app (<= 80 chars)",
"full": "Full description of your app (<= 4000 chars)"
},
"icons": {
"outline": "A relative path to a transparent .png icon — 32px X 32px",
"color": "A relative path to a full color .png icon — 192px X 192px"
},
"accentColor": "A valid HTML color code.",
"copilotAgents": {
"declarativeAgents": [
{
"id": "agent1",
"file": "declarativeAgent1.json"
}
]
},
"configurableTabs": [
{
"configurationUrl": "https://contoso.com/teamstab/configure",
"scopes": [
"team",
"groupChat"
],
"canUpdateConfiguration": true,
"context": [
"channelTab",
"privateChatTab",
"meetingChatTab",
"meetingDetailsTab",
"meetingSidePanel",
"meetingStage"
],
"sharePointPreviewImage": "Relative path to a tab preview image for use in SharePoint — 1024px X 768",
"supportedSharePointHosts": [
"sharePointFullPage",
"sharePointWebPart"
]
}
],
"staticTabs": [
{
"entityId": "unique Id for the page entity",
"scopes": [
"personal"
],
"context": [
"personalTab",
"channelTab"
],
"name": "Display name of tab",
"contentUrl": "https://contoso.com/content (displayed in Teams canvas)",
"websiteUrl": "https://contoso.com/content (displayed in web browser)",
"searchUrl": "https://contoso.com/content (displayed in web browser)"
}
],
"supportedChannelTypes": [
"sharedChannels",
"privateChannels"
],
"bots": [
{
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"scopes": [
"team",
"personal",
"groupChat"
],
"needsChannelSelector": false,
"isNotificationOnly": false,
"supportsFiles": true,
"supportsCalling": false,
"supportsVideo": true,
"commandLists": [
{
"scopes": [
"team",
"groupChat"
],
"commands": [
{
"title": "Command 1",
"description": "Description of Command 1"
},
{
"title": "Command 2",
"description": "Description of Command 2"
}
]
},
{
"scopes": [
"personal",
"groupChat"
],
"commands": [
{
"title": "Personal command 1",
"description": "Description of Personal command 1"
},
{
"title": "Personal command N",
"description": "Description of Personal command N"
}
]
}
]
}
],
"connectors": [
{
"connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL%",
"scopes": [
"team"
],
"configurationUrl": "https://contoso.com/teamsconnector/configure"
}
],
"composeExtensions": [
{
"canUpdateConfiguration": true,
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"commands": [
{
"id": "exampleCmd1",
"title": "Example Command",
"type": "query",
"context": [
"compose",
"commandBox"
],
"description": "Command Description; e.g., Search on the web",
"initialRun": true,
"fetchTask": false,
"parameters": [
{
"name": "keyword",
"title": "Search keywords",
"inputType": "choiceset",
"description": "Enter the keywords to search for",
"value": "Initial value for the parameter",
"choices": [
{
"title": "Title of the choice",
"value": "Value of the choice"
}
]
}
]
},
{
"id": "exampleCmd2",
"title": "Example Command 2",
"type": "action",
"context": [
"message"
],
"description": "Command Description; e.g., Add a customer",
"initialRun": true,
"fetchTask": false ,
"parameters": [
{
"name": "custinfo",
"title": "Customer name",
"description": "Enter a customer name",
"inputType": "text"
}
]
},
{
"id": "exampleCmd3",
"title": "Example Command 3",
"type": "action",
"context": [
"compose",
"commandBox",
"message"
],
"description": "Command Description; e.g., Add a customer",
"fetchTask": false,
"taskInfo": {
"title": "Initial dialog title",
"width": "Dialog width",
"height": "Dialog height",
"url": "Initial webview URL"
}
}
],
"messageHandlers": [
{
"type": "link",
"value": {
"domains": [
"mysite.someplace.com",
"othersite.someplace.com"
],
"supportsAnonymizedPayloads": false
}
}
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"devicePermissions": [
"geolocation",
"media",
"notifications",
"midi",
"openExternal"
],
"validDomains": [
"contoso.com",
"mysite.someplace.com",
"othersite.someplace.com"
],
"webApplicationInfo": {
"id": "AAD App ID",
"resource": "Resource URL for acquiring auth token for SSO"
},
"authorization": {
"permissions": {
"resourceSpecific": [
{
"type": "Application",
"name": "ChannelSettings.Read.Group"
},
{
"type": "Delegated",
"name": "ChannelMeetingParticipant.Read.Group"
}
]
}
},
"showLoadingIndicator": false,
"isFullScreen": false,
"activities": {
"activityTypes": [
{
"type": "taskCreated",
"description": "Task created activity",
"templateText": "<team member> created task <taskId> for you"
},
{
"type": "userMention",
"description": "Personal mention activity",
"templateText": "<team member> mentioned you"
}
]
},
"defaultBlockUntilAdminAction": true,
"publisherDocsUrl": "https://example.com/app-info",
"defaultInstallScope": "meetings",
"defaultGroupCapability": {
"meetings": "tab",
"team": "bot",
"groupchat": "bot"
},
"configurableProperties": [
"name",
"shortDescription",
"longDescription",
"smallImageUrl",
"largeImageUrl",
"accentColor",
"developerUrl",
"privacyUrl",
"termsOfUseUrl"
],
"subscriptionOffer": {
"offerId": "publisherId.offerId"
},
"meetingExtensionDefinition": {
"scenes": [
{
"id": "9082c811-7e6a-4174-8173-6ccd57d377e6",
"name": "Getting started sample",
"file": "scenes/sceneMetadata.json",
"preview": "scenes/scenePreview.png",
"maxAudience": 15,
"seatsReservedForOrganizersOrPresenters": 0
},
{
"id": "afeaed22-f89b-48e1-98b4-46a514344e4a",
"name": "Sample-1",
"file": "scenes/sceneMetadata.json",
"preview": "scenes/scenePreview.png",
"maxAudience": 15,
"seatsReservedForOrganizersOrPresenters": 3
}
]
}
}
Le schéma définit les propriétés suivantes :
$schema
Facultatif, mais recommandé – Chaîne
URL https:// référençant le schéma JSON pour le manifeste de l’application.
manifestVersion
Obligatoire – Chaîne
Version du schéma de manifeste d’application que ce manifeste utilise. Utilisez 1.13
pour activer la prise en charge des applications Teams dans Outlook et l’application Microsoft 365 ; utilisez 1.12
(ou une version antérieure) pour les applications Teams uniquement.
version
Obligatoire – Chaîne
Version d’une application spécifique. Lorsque vous mettez à jour un élément dans le manifeste de votre application, la version doit également être incrémentée. De cette façon, lorsque le nouveau manifeste d’application est installé, il remplace l’existant et l’utilisateur reçoit la nouvelle fonctionnalité. Lorsque cette application a été soumise au Microsoft Teams Store, le nouveau manifeste d’application doit être soumis à nouveau et revalidé. Les utilisateurs de l’application reçoivent automatiquement le nouveau manifeste d’application mis à jour dans les heures qui suivent l’approbation du manifeste de l’application.
Si l’application demande le changement des autorisations, les utilisateurs sont invités à mettre à niveau et à se réinscrire à l’application.
Cette chaîne de version doit suivre la norme de semver (MAJOR. MINOR. PATCH).
Remarque
Si votre application inclut un complément Office, chaque segment de la chaîne de version est limité à un maximum de cinq chiffres. Les extensions de chaîne de version préliminaire et de version de métadonnées de la norme semver ne sont pas prises en charge.
ID
Obligatoire : ID d’application Microsoft
L’ID est un identificateur unique généré par Microsoft pour l’application. Le format de l’ID est GUID. Vous avez un ID si votre bot est inscrit via le Microsoft Bot Framework. Vous avez un ID si l’application web de votre onglet se signe déjà avec Microsoft. Vous devez entrer l’ID ici. Sinon, vous devez générer un nouvel ID sur le portail d’inscription des applications Microsoft. Utilisez le même ID si vous ajoutez un bot.
L’ID stocké dans Teams Administration Center est l’ID d’application externe et il est visible en tant qu’ExternalID sur les traces.
Remarque
Si vous envoyez une mise à jour à votre application existante dans AppSource, l’ID dans le manifeste de votre application ne doit pas être modifié.
developer
Obligatoire – Objet
Spécifie des informations sur votre entreprise. Pour les applications soumises au Magasin Teams, ces valeurs doivent correspondre aux informations contenues dans votre description dans le Magasin Teams. Pour plus d’informations, consultez les instructions de publication du Magasin Teams. Le nom du développeur permet d’améliorer la détectabilité de votre application dans le Magasin Teams.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
name |
Chaîne | 32 caractères | ✔️ | Nom complet du développeur. |
websiteUrl |
Chaîne | 2 048 caractères | ✔️ | L’URL https:// du site web du développeur. Ce lien doit conduire les utilisateurs vers votre entreprise ou la page d’accueil spécifique au produit. |
privacyUrl |
Chaîne | 2 048 caractères | ✔️ | L’URL https:// vers la politique de confidentialité du développeur. |
termsOfUseUrl |
Chaîne | 2 048 caractères | ✔️ | L’URL https:// vers les conditions d’utilisation du développeur. |
mpnId |
String | 10 caractères | Optionnel L’ID du programme Microsoft Cloud Partner (anciennement APPELÉ ID MPN (Microsoft Partner Network) qui identifie le partenaire organization la création de l’application. |
nom
Obligatoire – Objet
Nom de l’expérience de votre application, affiché à destination des utilisateurs dans l’expérience Teams. Pour les applications soumises à AppSource, ces valeurs doivent correspondre aux informations de votre entrée AppSource. Les valeurs de short
et full
doivent être différentes. Le nom de l’application permet d’améliorer la détectabilité de votre application dans le Magasin Teams.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
short |
String | 30 caractères | ✔️ | Nom d’affichage court de l’application. Utilisez short la propriété où l’espace est limité, comme l’en-tête d’application. |
full |
String | 100 caractères | ✔️ | Le nom complet de l’application, utilisé si le nom complet de l’application dépasse 30 caractères. Utilisez full la propriété là où il y a plus d’espace, comme le catalogue d’applications ou la page des détails de l’application. |
Remarque
- Dans le manifeste d’application version 1.17 ou ultérieure, la
full
propriété est requise et, pour le manifeste d’application v1.16 ou version antérieure, elle n’est pas obligatoire. - La
short
propriété est utilisée sur toutes les surfaces de l’interface utilisateur.
description
Obligatoire – Objet
Décrit votre application aux utilisateurs. Pour les applications soumises à AppSource, ces valeurs doivent correspondre aux informations de votre entrée AppSource. La description de l’application permet d’améliorer la détectabilité de votre application dans le Magasin Teams.
Assurez-vous que votre description décrive votre expérience et aide les clients potentiels à comprendre ce que fait votre expérience. Vous devez le noter dans la description complète, si un compte externe est requis pour être utilisé. Les valeurs de short
et full
doivent être différentes. Votre brève description ne peut pas être répétée dans la description longue et ne doit pas inclure d’autre nom d’application.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
short |
String | 80 caractères | ✔️ | Brève description de l’expérience de votre application, utilisée lorsque l’espace est limité. |
full |
String | 4 000 caractères | ✔️ | Description complète de votre application. |
localizationInfo
Facultatif : objet
Autorise la spécification d’une langue par défaut et pointe vers des fichiers de langue supplémentaires. Consultez localisation.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
defaultLanguageTag |
String | ✔️ | Balise de langue pour les chaînes dans ce fichier manifeste d’application de niveau supérieur. La valeur par défaut est en-us . |
|
defaultLanguageFile |
Chaîne | 2 048 caractères | Chemin d’accès relatif au fichier .json qui contient les chaînes. Si elles ne sont pas spécifiées, les chaînes sont extraites directement du fichier manifeste de l’application. Un fichier de langue par défaut est requis pour les agents Copilot qui prennent en charge plusieurs langues. |
localizationInfo.additionalLanguages
Tableau d’objets, chacun avec les propriétés suivantes pour spécifier des traductions de langue supplémentaires.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
languageTag |
String | ✔️ | Balise de langue des chaînes dans le fichier fourni. Par exemple, es |
|
file |
Chaîne | 2 048 caractères | ✔️ | Chemin d’accès relatif au fichier .json qui contient les chaînes traduites. |
icons
Obligatoire – Objet
Icônes utilisées dans l’application Teams. Les fichiers d’icône doivent être inclus dans le package de chargement. Pour plus d’informations, voir Icônes.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
outline |
String | 32 x 32 pixels | ✔️ | Chemin d’accès relatif à un plan PNG transparent 32 x 32. La couleur de bordure doit être blanche. |
color |
String | 192 x 192 pixels | ✔️ | Chemin d’accès relatif à une icône PNG couleur 192 x 192. |
accentColor
Obligatoire : code de couleur HTML Hexadécimal
Couleur à utiliser et comme arrière-plan pour vos icônes de couleur.
La valeur doit être un code de couleur HTML valide commençant par « # » par exemple #4464ee
. Pour plus d’informations, consultez accentColor.
copilotAgents
Facultatif : objet
Définit un ou plusieurs agents à Microsoft 365 Copilot. Les agents déclaratifs sont des personnalisations de Microsoft 365 Copilot qui s’exécutent sur les mêmes modèles d’orchestrateur et de base.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
declarativeAgents |
Tableau d’objets | 1 | ✔️ | Tableau d’objets qui définissent chacun un agent déclaratif. |
declarativeAgents
Représente une personnalisation de Microsoft 365 Copilot, telle que définie par son fichier manifeste.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
id |
String | ✔️ | Identificateur unique de l’agent. Lorsque vous utilisez Microsoft Copilot Studio pour générer des agents, cela est généré automatiquement. Sinon, affectez manuellement la valeur en fonction de vos propres conventions ou préférences. | |
file |
Chaîne | 2 048 caractères | ✔️ | Chemin d’accès relatif au fichier manifeste de l’agent déclaratif dans le package d’application. |
configurableTabs
Facultatif – Tableau
Utilisé lorsque votre expérience d’application a une expérience d’onglet de canal d’équipe qui nécessite une configuration supplémentaire avant d’être ajoutée. Les onglets configurables sont pris en charge uniquement dans les étendues team
et groupChat
vous pouvez configurer les mêmes onglets plusieurs fois. Toutefois, vous ne pouvez le définir dans le manifeste de l’application qu’une seule fois.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
configurationUrl |
Chaîne | 2 048 caractères | ✔️ | L’URL https:// à utiliser lors de la configuration de l’onglet. |
scopes |
Tableau d’énumérations | 2 | ✔️ | Les onglets configurables prennent uniquement en charge les team étendues et groupChat . |
canUpdateConfiguration |
Boolean | Valeur indiquant si une instance de la configuration de l’onglet peut être mise à jour par l’utilisateur après sa création. Valeur par défaut: true |
||
meetingSurfaces |
Tableau d’énumérations | 2 | L’ensemble des meetingSurfaceItem étendues où un onglet est pris en charge. Valeurs par défaut : sidePanel , stage |
|
context |
Tableau d’énumérations | 8 | L’ensemble des contextItem étendues où un onglet est pris en charge. Valeur acceptée : [personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab, meetingSidePanel, meetingStage]. |
|
sharePointPreviewImage |
Chaîne | 2 048 caractères | Chemin d’accès relatif à une image d’aperçu d’onglet à utiliser dans SharePoint. Taille 1024 x 768. | |
supportedSharePointHosts |
Tableau d’énumérations | 2 | Définit la façon dont votre onglet est mis à disposition dans SharePoint. Les options sont sharePointFullPage et sharePointWebPart . |
staticTabs
Facultatif – Tableau
Définit un ensemble d’onglets qui peuvent être épinglés par défaut, sans que l’utilisateur les ajoute manuellement. Les onglets statiques déclarés dans personal
l’étendue sont toujours épinglés à l’expérience personnelle de l’application. 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.
Cet élément est un tableau (maximum de 16 éléments) avec tous les éléments du type object
. Ce bloc est requis uniquement pour les solutions qui fournissent une solution d’onglet statique.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
entityId |
String | 64 caractères | ✔️ | Identificateur unique de l’entité affichée par l’onglet. |
name |
Chaîne | 128 caractères | Nom complet de l’onglet. | |
contentUrl |
Chaîne | 2 048 caractères | L’URL https:// qui pointe vers l’interface utilisateur de l’entité à afficher dans la zone de canevas de Teams. | |
contentBotId |
Chaîne | 128 caractères | ID d’application Microsoft spécifié pour le bot dans le portail Bot Framework. | |
websiteUrl |
Chaîne | 2 048 caractères | L’URL https:// pointant vers si un utilisateur choisit de l’afficher dans un navigateur. | |
searchUrl |
Chaîne | 2 048 caractères | L’URL https:// pointant vers les requêtes de recherche d’un utilisateur. | |
scopes |
Tableau d’énumérations | 3 | ✔️ | Spécifie si l’onglet offre une expérience dans le contexte d’un canal dans une équipe ou une expérience étendue à une conversation individuelle d’utilisateur ou de groupe. Les onglets statiques prennent uniquement en charge personal l’étendue. |
context |
Tableau d’énumérations | 8 | Ensemble de contextItem contextes dans lesquels un onglet est pris en charge.
Valeurs acceptées : personalTab , channelTab , privateChatTab , meetingChatTab , meetingDetailsTab , meetingStage meetingSidepanel teamLevelApp .
Valeurs par défaut : personalTab , channelTab , privateChatTab , meetingDetailsTab meetingChatTab , . |
Remarque
- Les
groupChat
étendues etteam
sont prises en charge uniquement dans la préversion publique pour les développeurs. - Le
teamLevelApp
contexte est dédié uniquement aux locataires Éducation. - La
searchUrl
fonctionnalité n’est pas disponible pour les développeurs tiers. - Si vos onglets nécessitent des informations contextuelles pour afficher du contenu pertinent ou pour lancer un flux d’authentification, pour plus d’informations, voir Obtenir le contexte de votre onglet Microsoft Teams.
bots
Facultatif – Tableau
Définit une solution bot, ainsi que des informations facultatives telles que les propriétés de commande par défaut.
L’élément est un tableau (au maximum un seul élément , un seul bot est autorisé par application) avec tous les éléments du type object
. Ce bloc est requis uniquement pour les solutions qui offrent une expérience de bot.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
botId |
String | ✔️ | ID d’application Microsoft unique pour le bot inscrit dans le Bot Framework. L’ID peut être identique à l’ID d’application globale. | |
scopes |
Tableau d’énumérations | 3 | ✔️ | Indique si le bot offre une expérience dans le contexte d’un canal dans une team , dans une conversation de groupe (groupChat ) ou dans une expérience limitée à un utilisateur individuel (personal ). Ces options ne sont pas exclusives. |
needsChannelSelector |
Boolean | Indique si le bot utilise ou non un conseil de l’utilisateur pour ajouter le bot à un canal spécifique. Valeur par défaut: false |
||
isNotificationOnly |
Boolean | Indique si un bot est unidirectionnel, de notification uniquement, par opposition à un bot conversationnel. Valeur par défaut: false |
||
supportsFiles |
Boolean | Indique si le bot prend en charge la possibilité de télécharger des fichiers dans une conversation personnelle. Valeur par défaut: false |
||
supportsCalling |
Boolean | Valeur indiquant où un bot prend en charge les appels audio.
IMPORTANT : cette propriété est expérimentale. Les propriétés expérimentales peuvent être incomplètes et subir des modifications avant qu’elles ne soient entièrement disponibles. La propriété est fournie uniquement à des fins de test et d’exploration et ne doit pas être utilisée dans les applications de production. Valeur par défaut: false |
||
supportsVideo |
Boolean | Valeur indiquant où un bot prend en charge les appels vidéo.
IMPORTANT : cette propriété est expérimentale. Les propriétés expérimentales peuvent être incomplètes et subir des modifications avant qu’elles ne soient entièrement disponibles. La propriété est fournie uniquement à des fins de test et d’exploration et ne doit pas être utilisée dans les applications de production. Valeur par défaut: false |
bots.configuration
Facultatif : objet
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
team.fetchTask |
Boolean | ✔️ | Valeur booléenne qui indique si elle doit extraire la boîte de dialogue (appelée module de tâche dans TeamsJS v1.x) de manière dynamique. Valeur par défaut: false |
|
team.taskInfo |
Objet | ✔️ | Boîte de dialogue à précharger lorsque vous utilisez un bot | |
team.taskInfo.title |
String | 64 caractères | ✔️ | Titre de la boîte de dialogue initiale. |
team.taskInfo.width |
Chaîne | 16 caractères | La largeur de la boîte de dialogue est un nombre en pixels ou une disposition par défaut telle que large , medium ou 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 , medium ou small . |
|
team.taskInfo.url |
Chaîne | 2 048 caractères | URL webview initiale. | |
groupChat.fetchTask |
Boolean | ✔️ | Valeur booléenne qui indique si la boîte de dialogue doit être extraite dynamiquement. Valeur par défaut: false |
|
groupChat.taskInfo |
Objet | Boîte de dialogue à lancer lorsque la tâche d’extraction est définie sur false. Valeur par défaut: false |
||
groupChat.taskInfo.title |
String | 64 caractères | ✔️ | Titre de la boîte de dialogue initiale. |
groupChat.taskInfo.width |
Chaîne | 16 | La largeur de la boîte de dialogue est un nombre en pixels ou une disposition par défaut telle que large , medium ou small . |
|
groupChat.taskInfo.height |
String | 16 | La hauteur de la boîte de dialogue est un nombre en pixels ou une disposition par défaut telle que large , medium ou small . |
|
groupChat.taskInfo.url |
Chaîne | 2 048 caractères | URL webview initiale. |
bots.commandLists
Facultatif – Tableau
Une liste de commandes que votre robot peut recommander aux utilisateurs. L’objet est un tableau (trois éléments maximum) avec tous les éléments de type object
; vous devez définir une liste de commandes distincte pour chaque étendue prise en charge par votre bot. Pour plus d’informations, consultez Menus bot.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
scopes |
Tableau d’énumérations | 3 | ✔️ | Spécifie l’étendue pour laquelle la liste de commandes est valide. Les options sont team , personal et groupChat . |
commands |
Tableau d’objets | 10 | ✔️ | Tableau de commandes pris en charge par le bot. |
Remarque
Le client mobile Teams ne prend pas en charge l’application bot lorsqu’il n’y a aucune valeur dans la commandLists
propriété .
bots.commandLists.commands
Obligatoire – Tableau
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
title |
Chaîne | 32 | ✔️ | Nom de la commande du bot. |
description |
Chaîne | 128 caractères | ✔️ | Une description de texte simple ou exemple de syntaxe de commande et de ses arguments. |
connecteurs
Facultatif – Tableau
Le connectors
bloc définit un connecteur carte pour Groupes Microsoft 365 pour l’application.
L’objet est un tableau (maximum d’un élément) avec tous les éléments de type object
. Ce bloc est requis uniquement pour les solutions qui fournissent un connecteur.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
configurationUrl |
Chaîne | 2 048 caractères | ✔️ | L’URL https:// à utiliser lors de la configuration du connecteur à l’aide de l’expérience de configuration inline. |
scopes |
Tableau d’énumérations | 1 | ✔️ | Spécifie si le connecteur offre une expérience dans le contexte d’un canal dans un team , ou une expérience limitée à un utilisateur individuel seul (personal ). L’étendue team est uniquement prise en charge. |
connectorId |
String | 64 caractères | ✔️ | Identificateur unique du connecteur qui correspond à son ID dans le tableau de bord du développeur de connecteurs. |
composeExtensions
Facultatif – Tableau
Définit une extension de message pour l’application.
Remarque
Le nom de la fonctionnalité a été modifié de « compose extension » à « message extension » en novembre 2017, mais le nom du manifeste d’application reste le même afin que les extensions existantes continuent de fonctionner.
L’élément est un tableau (maximum d’un élément) avec tous les éléments de type object
. Ce bloc est requis uniquement pour les solutions qui fournissent une extension de message.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
botId |
String | ID d’application Microsoft unique pour le bot qui sauvegarde l’extension de message, tel qu’il est inscrit auprès de l’infrastructure de bot. L’ID peut être identique à l’ID d’application global. | ||
composeExtensionType |
String | ✔️ | Type de l’extension compose. Les valeurs enum sont botBased et apiBased . |
|
authorization |
Objet | 2 | Informations relatives à l’autorisation pour l’extension de message basée sur l’API. | |
authorization.authType |
String | Énumération des types d’autorisation possibles. Les valeurs prises en charge sont none , apiSecretServiceAuth et microsoftEntra . |
||
authorization.microsoftEntraConfiguration |
Objet | Détails de capture d’objet nécessaires pour effectuer le flux d’authentification microsoftEntra. Applicable uniquement lorsque le type d’authentification est microsoftEntra . |
||
authorization.microsoftEntraConfiguration.supportsSingleSignOn |
Boolean | Valeur indiquant si l’authentification unique est configurée pour l’application. | ||
authorization.apiSecretServiceAuthConfiguration |
Objet | Détails de capture d’objet nécessaires pour effectuer l’authentification de service. Applicable uniquement lorsque le type d’authentification est apiSecretServiceAuth . |
||
authorization.apiSecretServiceAuthConfiguration.apiSecretRegistrationId |
Chaîne | 128 caractères | ID d’inscription retourné lorsque le développeur envoie la clé API via le portail des développeurs. | |
apiSpecificationFile |
Chaîne | 2 048 caractères | Chemin d’accès relatif au fichier de spécification d’API dans le package de manifeste. | |
canUpdateConfiguration |
Boolean | Valeur indiquant si la configuration d’une extension de message peut être mise à jour par l’utilisateur. Valeur par défaut: false |
||
commands |
Tableau d’objets | 10 | ✔️ | Tableau de commandes prises en charge par l’extension de message. |
messageHandlers |
Tableau d’objets | 5 | Liste des gestionnaires qui permettent d’appeler des applications lorsque certaines conditions sont remplies. | |
messageHandlers.type |
String | Type de gestionnaire de messages. Doit être link . |
||
messageHandlers.value.domains |
Tableau de chaînes | 2 048 caractères | Tableau de domaines pour lequel le gestionnaire de messages de lien peut s’inscrire. | |
messageHandlers.value.supportsAnonymizedPayloads |
Boolean | Valeur booléenne qui indique si le gestionnaire de messages de lien de l’application prend en charge le flux d’appel anonyme. Valeur par défaut: false |
composeExtensions.commands
Votre extension de message doit déclarer une ou plusieurs commandes avec un maximum de 10 commandes. Chaque commande apparaît dans Microsoft Teams en tant qu’interaction potentielle à partir du point d’entrée basé sur l’IU.
Chaque élément de commande est un objet avec la structure suivante :
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
id |
String | 64 caractères | ✔️ | ID de la commande. |
type |
String | Type de la commande. L’un des query ou action . Valeur par défaut: query |
||
samplePrompts |
Tableau | 5 | Propriété utilisée par Microsoft 365 Copilot pour afficher à l’utilisateur les invites prises en charge par le plug-in. | |
samplePrompts.text |
Chaîne | 128 caractères | ✔️ | Contenu de l’exemple d’invite. |
apiResponseRenderingTemplateFile |
Chaîne | 2 048 caractères | Chemin d’accès relatif au fichier de modèle de rendu de réponse de l’API utilisé pour mettre en forme la réponse JSON de l’API du développeur en réponse de carte adaptative. | |
context |
Tableau de chaînes | 3 | Définit l’emplacement à partir duquel l’extension de message peut être appelée. Toute combinaison de compose , commandBox , message . Valeurs par défaut : compose, commandBox |
|
title |
Chaîne | 32 caractères | ✔️ | Le nom de la commande conviviale. |
description |
Chaîne | 128 caractères | Description qui apparaît aux utilisateurs pour indiquer l’objectif de cette commande. | |
semanticDescription |
String | 5 000 caractères | Description sémantique de la commande pour la consommation par Microsoft 365 Copilot à l’aide de modèles LLM (Large Language Models). | |
initialRun |
Boolean | Une valeur booléenne indique si la commande s’exécute initialement sans paramètre. Valeur par défaut: false |
||
fetchTask |
Boolean | Valeur booléenne qui indique s’il doit extraire dynamiquement la boîte de dialogue (appelée module de tâche dans TeamsJS v1.x). Valeur par défaut: false |
||
taskInfo |
Objet | Spécifiez la boîte de dialogue à précharger lors de l’utilisation d’une commande d’extension de message. | ||
taskInfo.title |
String | 64 caractères | Titre de la boîte de dialogue initiale. | |
taskInfo.width |
Chaîne | Largeur de la boîte de dialogue : nombre en pixels ou valeurs de disposition par défaut telles que large , medium ou small . |
||
taskInfo.height |
String | Hauteur de la boîte de dialogue : nombre en pixels ou valeurs de disposition par défaut telles que large , medium ou small . |
||
taskInfo.url |
Chaîne | URL webview initiale. | ||
parameters |
Tableau d’objets | 5 | Liste des paramètres que prend la commande. | |
parameters.name |
String | 64 caractères | ✔️ | Nom du paramètre tel qu’il apparaît dans le client. Le nom du paramètre est inclus dans la demande de l’utilisateur. |
parameters.title |
Chaîne | 32 caractères | ✔️ | Titre convivial du paramètre. |
parameters.description |
Chaîne | 128 caractères | Chaîne conviviale qui décrit l’objectif de ce paramètre. | |
parameters.semanticDescription |
Chaîne | 2 000 caractères | Description sémantique du paramètre pour la consommation par Microsoft 365 Copilot à l’aide de modèles LLM (Large Language Models). | |
parameters.value |
String | 512 caractères | Valeur initiale du paramètre. La valeur n’est pas prise en charge. | |
parameters.inputType |
String | Définit le type de contrôle affiché dans une boîte de dialogue pour fetchTask: false . La valeur d’entrée ne peut être que , text textarea , number , date , time , toggle , choiceset . Valeur par défaut: text |
||
parameters.choices |
Tableau d’objets | 10 éléments | Options de choix pour le choiceset . Utilisez uniquement lorsque parameters.inputType est choiceset . |
|
parameters.choices.title |
Chaîne | 128 caractères | ✔️ | Titre du choix. |
parameters.choices.value |
Chaîne | 512 caractères | ✔️ | Valeur du choix. |
autorisations
Facultatif : tableau de chaînes
Tableau de string
, qui spécifie les autorisations que l’application demande, qui indiquent aux utilisateurs finaux le fonctionnement de l’extension. Les options suivantes ne sont pas exclusives :
-
identity
Nécessite des informations d’identité d’utilisateur. -
messageTeamMembers
Nécessite l’autorisation d’envoyer des messages directs aux membres de l’équipe.
La modification de ces autorisations pendant la mise à jour de l’application entraîne la répétition du processus de consentement par vos utilisateurs après l’exécution de l’application mise à jour. Pour plus d’informations, voir Mise à jour de votre application.
Remarque
Les autorisations sont désormais déconseillées.
devicePermissions
Facultatif : tableau de chaînes
Fournit les fonctionnalités natives sur l’appareil d’un utilisateur à qui votre application demande l’accès. Les options sont :
geolocation
media
notifications
midi
openExternal
validDomains
Facultatif (sauf obligatoire le cas échéant) – Tableau de chaînes
Liste des domaines valides pour les sites web que l’application s’attend à charger dans le client Teams. Les listes de domaines peuvent inclure des caractères génériques, par exemple, *.example.com
. Le domaine valide correspond exactement à un segment du domaine ; si vous devez faire correspondre a.b.example.com
utilisez *.*.example.com
. Si votre interface utilisateur de contenu ou de configuration d’onglet accède à un autre domaine que la configuration de tabulation, ce domaine doit être spécifié ici.
N’incluez pas les domaines des fournisseurs d’identité que vous souhaitez prendre en charge dans votre application. Par exemple, pour vous authentifier à l’aide d’un ID Google, il est nécessaire de rediriger vers accounts.google.com, toutefois, vous ne devez pas inclure accounts.google.com dans validDomains[]
.
Les applications Teams qui nécessitent leurs propres URL SharePoint pour fonctionner correctement incluent « {teamsitedomain} » dans leur liste de domaines valide.
Importante
N’ajoutez pas de domaines en dehors de votre contrôle, directement ou par le biais de caractères génériques (). Par exemple,.yoursite.com est valide, mais *.onmicrosoft.com n’est pas valide, car il n’est pas sous votre contrôle.
Lorsque vous utilisez des caractères génériques, les règles suivantes s’appliquent :
- Si un segment de sous-domaine inclut un caractère générique, il doit s’agir du seul caractère du segment.
- Tout segment précédant un segment générique doit également être un segment générique.
Par exemple, *.*.domain.com est valide, mais foo.*.myteam.domain.com n’est pas valide.
L’objet est un tableau avec tous les éléments du type string
. L’élément maximal de l’objet est de 16 et la longueur maximale est de 2 048 caractères.
WebApplicationInfo
Remarque
La webApplicationInfo
propriété est liée à un seul domaine et n’est pas prise en charge pour plusieurs domaines. Par conséquent, si vous avez deux applications hébergées sur des domaines différents, vous devez créer des manifestes d’application distincts pour chaque application.
Facultatif : objet
Fournissez votre ID d’application Microsoft Entra et les informations Microsoft Graph pour aider les utilisateurs à se connecter en toute transparence à votre application. Si votre application est inscrite dans Microsoft Entra ID, vous devez fournir l’ID d’application. Les administrateurs peuvent facilement examiner les autorisations et accorder leur consentement dans le Centre d’administration Teams.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
id |
String | ✔️ | Microsoft Entra’ID d’application de l’application. Cet ID doit être un GUID. | |
resource |
Chaîne | 2 048 caractères | URL de ressource de l’application pour l’acquisition du jeton du SSO.
NOTE: Si vous n’utilisez pas l’authentification unique, veillez à entrer une valeur de chaîne factice dans ce champ dans le manifeste de votre application, par exemple, https://example pour éviter une réponse d’erreur. La valeur de chaîne d’URL factice ne doit pas contenir de domaines ou d’URL qui ne sont pas sous votre contrôle, que ce soit directement ou par le biais de caractères génériques. Par exemple, yourapp.onmicrosoft.com est valide, mais *.onmicrosoft.com n’est pas valide. Les domaines de niveau supérieur sont interdits, par exemple, *.com , *.org . |
graphConnector
Facultatif : objet
Spécifiez la configuration du connecteur Graph de l’application. Si cela est présent, webApplicationInfo.id doit également être spécifié.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
notificationUrl |
Chaîne | 2 048 caractères | ✔️ | L’URL où les notifications Graph-connecteur pour l’application doivent être envoyées. |
showLoadingIndicator
Facultatif : booléen
Indique si l’indicateur de chargement s’affiche ou non lorsqu’une application ou un onglet est en cours de chargement. La valeur par défaut est False.
Remarque
- Si vous sélectionnez
showLoadingIndicator
true dans le manifeste de votre application, pour charger la page correctement, modifiez les pages de contenu de vos onglets et boîtes de dialogue, comme décrit dans Afficher un document d’indicateur de chargement natif . - Si vous ne modifiez pas les pages de contenu de votre onglet, l’application onglet ne se charge pas et affiche l’erreur
There was a problem reaching this app
.
IsFullScreen
Facultatif : booléen
Indique si une application personnelle est rendue sans barre d’en-tête d’onglet (mode plein écran). Valeur par défaut: false
Remarque
isFullScreen
ne fonctionne que pour les applications publiées dans votre organisation. Les applications tierces chargées et publiées ne peuvent pas utiliser cette propriété (elle est ignorée).Le
isFullScreen=true
paramètre élimine la barre d’en-tête et le titre fournis par Teams des applications personnelles et des boîtes de dialogue. Toutefois, il est recommandé de ne pas utiliser le paramètre avec lesisFullScreen=true
applications de bot de conversation.
activités
Facultatif : objet
Définissez les propriétés utilisées par votre application pour publier un flux d’activité utilisateur.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
activityTypes |
Tableau d’objets | 128 éléments | Indiquez les types d’activités que votre application peut publier dans un flux d’activités utilisateurs. |
activities.activityTypes
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
type |
String | 64 caractères | ✔️ | Le type de notification. |
description |
Chaîne | 128 caractères | ✔️ | Une brève description de la notification. |
templateText |
Chaîne | 128 caractères | ✔️ | Exemple : « {actor} a créé la tâche {taskId} pour vous » |
{
"activities":{
"activityTypes":[
{
"type":"taskCreated",
"description":"Task Created Activity",
"templateText":"{actor} created task {taskId} for you"
},
{
"type":"teamMention",
"description":"Team Mention Activity",
"templateText":"{actor} mentioned team"
},
{
"type":"channelMention",
"description":"Channel Mention Activity",
"templateText":"{actor} mentioned channel"
},
{
"type":"userMention",
"description":"Personal Mention Activity",
"templateText":"{actor} mentioned user"
},
{
"type":"calendarForward",
"description":"Forwarding a Calendar Event",
"templateText":"{actor} sent user an invite on behalf of {eventOwner}"
},
{
"type":"calendarForward",
"description":"Forwarding a Calendar Event",
"templateText":"{actor} sent user an invite on behalf of {eventOwner}"
},
{
"type":"creatorTaskCreated",
"description":"Created Task Created",
"templateText":"The Creator created task {taskId} for you"
}
]
}
}
defaultInstallScope
Facultatif : chaîne
Spécifie l’étendue d’installation définie par défaut pour cette application. L’étendue définie est l’option affichée sur le bouton lorsqu’un utilisateur tente d’ajouter l’application. Les options sont :
personal
team
groupChat
meetings
defaultGroupCapability
Facultatif : objet
Lorsqu’une étendue d’installation de groupe est sélectionnée, elle définit la fonctionnalité par défaut lorsque l’utilisateur installe l’application.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
team |
String | Lorsque l’étendue d’installation sélectionnée est team , ce champ spécifie la fonctionnalité par défaut disponible. Options : tab , bot , ou connector . |
||
groupchat |
String | Lorsque l’étendue d’installation sélectionnée est groupChat , ce champ spécifie la fonctionnalité par défaut disponible. Options : tab , bot , ou connector . |
||
meetings |
String | Lorsque l’étendue d’installation sélectionnée est meetings , ce champ spécifie la fonctionnalité par défaut disponible. Options : tab , bot , ou connector . |
configurableProperties
Facultatif – Tableau
Le bloc configurableProperties
définit les propriétés d’application que les administrateurs Teams peuvent personnaliser. Pour plus d’informations, consultez activer la personnalisation d’application. La fonctionnalité de personnalisation d’application n’est pas prise en charge dans les applications personnalisées ou les applications personnalisées conçues pour votre organisation (applications métier).
Remarque
Au moins une propriété doit être définie. Vous pouvez définir un maximum de neuf propriétés dans ce bloc.
Vous pouvez définir l’une des propriétés suivantes :
- name : nom d’affichage de l’application.
- shortDescription : brève description de l’application.
- longDescription : description longue de l’application.
- smallImageUrl : icône de contour de l’application.
- largeImageUrl : icône de couleur de l’application.
- accentColor : couleur à utiliser et arrière-plan pour vos icônes de plan.
- developerUrl : URL HTTPS du site web du développeur.
- privacyUrl : URL HTTPS de la politique de confidentialité du développeur.
- termsOfUseUrl : URL HTTPS des conditions d’utilisation du développeur.
supportedChannelTypes
Facultatif – Tableau
Active votre application dans des canaux non standard. Si votre application prend en charge une étendue d’équipe et que cette propriété est définie, Teams active votre application dans chaque type de canal en conséquence. La propriété supportedChannelTypes prend uniquement en charge sharedChannels
et privateChannels
.
Remarque
- Si votre application prend en charge une étendue d’équipe, elle fonctionne dans les canaux standard, quelles que soient les valeurs définies dans cette propriété.
- Votre application peut prendre en compte les propriétés uniques de chacun des types de canaux pour fonctionner correctement. Pour activer votre onglet pour les canaux privés et partagés, consultez Récupérer le contexte dans les canaux privés et obtenir le contexte dans les canaux partagés
defaultBlockUntilAdminAction
Facultatif : booléen
Lorsque la propriété defaultBlockUntilAdminAction
est définie sur true, l’application est masquée par défaut aux utilisateurs jusqu’à ce que l’administrateur l’autorise. Si la valeur est true, l’application est masquée pour tous les locataires et tous les utilisateurs finaux. Les administrateurs de locataire peuvent voir l’application dans le Centre d’administration Teams et prendre des mesures pour autoriser ou bloquer l’application. La valeur par défaut est false. Pour plus d’informations sur le bloc d’application par défaut, consultez Bloquer les applications par défaut pour les utilisateurs jusqu’à ce qu’un administrateur approuve.
publisherDocsUrl
Facultatif : chaîne
Taille maximale : 2 048 caractères
La valeur du publisherDocsUrl
paramètre est une URL HTTPS sécurisée vers la page d’informations et de documentation de l’application que les développeurs d’applications choisissent de fournir. Les administrateurs de locataire obtiennent de la documentation sur l’application à cette URL. Le Centre d’administration Teams affiche l’URL dans la page des détails de l’application. La documentation peut inclure des instructions destinées aux administrateurs pour faciliter l’adoption et le déploiement des applications. Dans la documentation de l’application, vous pouvez également inclure des instructions ou des informations sur l’application qui sont utiles pour l’administrateur de locataire, les utilisateurs et les autres parties prenantes de l’entreprise.
subscriptionOffer
Facultatif : objet
Spécifie l’offre SaaS associée à votre application.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
offerId |
Chaîne | 2 048 caractères | ✔️ | Identificateur unique qui inclut votre ID de serveur de publication et votre ID d’offre, que vous pouvez trouver dans Espace partenaires. Vous devez mettre en forme la chaîne en tant que publisherId.offerId . |
meetingExtensionDefinition
Facultatif : objet
Spécifiez la définition de l’extension de réunion. Pour plus d’informations, voir les scènes personnalisées du mode Ensemble dans Teams.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
scenes |
Tableau d’objets | 5 éléments | Scènes de réunion prise en charge. | |
supportsStreaming |
Boolean | Valeur qui indique si une application peut diffuser en continu le contenu audio et vidéo de la réunion vers un point de terminaison RTMP (Real-Time Meeting Protocol). Valeur par défaut: false |
||
supportsAnonymousGuestUsers |
Boolean | Valeur qui indique si une application prend en charge l’accès pour les utilisateurs anonymes. Valeur par défaut: false |
Remarque
La supportsAnonymousGuestUsers
propriété dans le schéma de manifeste d’application v1.16 est prise en charge uniquement dans le nouveau client Teams.
meetingExtensionDefinition.scenes
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
id |
String | ✔️ | Identificateur unique de la scène. Cet ID doit être un GUID. | |
name |
Chaîne | 128 caractères | ✔️ | Nom de la scène. |
file |
Chaîne | 2 048 caractères | ✔️ | Chemin d’accès relatif au fichier json de métadonnées des scènes. |
preview |
Chaîne | 2 048 caractères | ✔️ | Chemin d’accès relatif au fichier de l’icône d’aperçu PNG des scènes. |
maxAudience |
Entier | 50 | ✔️ | Nombre maximal d’audiences pris en charge dans la scène. |
seatsReservedForOrganizersOrPresenters |
Entier | 50 | ✔️ | Nombre de sièges réservés aux organisateurs ou présentateurs. |
autorisation
Facultatif : objet
Remarque
authorization
est pris en charge uniquement pour la version 1.12 ou ultérieure du manifeste d’application.
Spécifiez et consolidez les informations relatives à l’autorisation pour l’application.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
permissions |
Objet | Liste des autorisations dont l’application a besoin pour fonctionner. |
authorization.permissions
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
resourceSpecific |
Tableau d’objets | 16 éléments | Autorisations qui protègent l’accès aux données au niveau de l’instance de ressource. |
authorization.permissions.resourceSpecific
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
type |
String | ✔️ | Type de l’autorisation de consentement spécifique à la ressource (RSC). Options : Application et Delegated . |
|
name |
Chaîne | 128 caractères | ✔️ | Nom de l’autorisation RSC. Pour plus d’informations, consultez Autorisations d’application RSC et Autorisations déléguées RSC |
Autorisations d’application RSC
Les autorisations d’application permettent à l’application d’accéder aux données sans utilisateur connecté. Pour plus d’informations sur les autorisations d’application, consultez Autorisations RSC pour Microsoft Graph et Microsoft BotSDK.
Autorisations déléguées RSC
Les autorisations déléguées permettent à l’application d’accéder aux données pour le compte de l’utilisateur.
Autorisations déléguées RSC pour une équipe
Name Description ChannelMeetingParticipant.Read.Group
Permet à l’application de lire les informations des participants, notamment le nom, le rôle, l’ID, les horaires de participation et le temps restant, des réunions de canal associées à cette équipe, au nom de l’utilisateur connecté. ChannelMeetingIncomingAudio.Detect.Group
Permet à l’application de détecter l’audio entrant dans les réunions de canal associées à l’équipe. ChannelMeetingActiveSpeaker.Read.Group
Permet à l’application de lire les participants qui envoient de l’audio dans les réunions de canal associées à l’équipe. ChannelMeetingAudioVideo.Stream.Group
Permet à l’application de diffuser en continu du contenu audio-vidéo à partir des réunions de canal associées à l’équipe. InAppPurchase.Allow.Group
Permet à l’application d’afficher les offres de la Place de marché aux utilisateurs de l’équipe et d’effectuer leurs achats dans l’application, au nom de l’utilisateur connecté. ChannelMeetingStage.Write.Group
Permet à l’application d’afficher du contenu sur la phase de réunion dans les réunions de canal associées à l’équipe, au nom de l’utilisateur connecté. LiveShareSession.ReadWrite.Group
Permet à l’application de créer et de synchroniser des sessions Live Share pour l’équipe et d’obtenir des informations associées à l’accès, telles que le nom et le rôle, sur la liste de l’équipe et toutes les réunions associées, au nom de l’utilisateur connecté. MeetingParticipantReaction.Read.Group
Permet à l’application de lire les réactions des participants aux réunions de canal associées à l’équipe. Autorisations déléguées RSC pour les conversations ou les réunions
Name Description InAppPurchase.Allow.Chat
Permet à l’application d’afficher les offres de la Place de marché aux utilisateurs dans la conversation et toute réunion associée, et de terminer leurs achats dans l’application, au nom de l’utilisateur connecté. MeetingStage.Write.Chat
Permet à l’application d’afficher du contenu sur la phase de réunion dans les réunions associées à la conversation, au nom de l’utilisateur connecté. OnlineMeetingParticipant.Read.Chat
Permet à l’application de lire les informations des participants, notamment le nom, le rôle, l’ID, les heures de participation et de gauche, de la réunion associée à la conversation, au nom de l’utilisateur connecté. OnlineMeetingParticipant.ToggleIncomingAudio.Chat
Permet à l’application de basculer l’audio entrant pour les participants aux réunions associées à la conversation, au nom de l’utilisateur connecté. LiveShareSession.ReadWrite.Chat
Permet à l’application de créer et de synchroniser des sessions Live Share pour la conversation et d’obtenir des informations associées à l’accès, telles que le nom et le rôle, sur la liste de la conversation et les réunions associées, au nom de l’utilisateur connecté. MeetingParticipantReaction.Read.Chat
Permet à l’application de lire les réactions des participants aux réunions associées à la conversation. OnlineMeetingIncomingAudio.Detect.Chat
Permet à l’application de détecter les modifications dans le status de l’audio entrant dans les réunions associées à la conversation, au nom de l’utilisateur connecté. OnlineMeetingActiveSpeaker.Read.Chat
Permet à l’application de lire les participants qui envoient du contenu audio dans les réunions associées à la conversation. OnlineMeetingAudioVideo.Stream.Chat
Permet à l’application de diffuser en continu le contenu audio-vidéo des réunions associées à la conversation. Autorisations déléguées RSC pour les utilisateurs
Name Description CameraStream.Read.User
Permet à l’application de lire le flux de caméra de l’utilisateur. InAppPurchase.Allow.User
Permet à l’application d’afficher les offres marketplace de l’utilisateur et d’effectuer les achats de l’utilisateur au sein de l’application, au nom de l’utilisateur connecté. OutgoingVideoStream.Write.User
Permet à l’application de modifier la vidéo sortante de l’utilisateur. MicrophoneStream.Read.User
Permet à l’application de lire le flux de microphone de l’utilisateur. MeetingParticipantReaction.Read.User
Permet à l’application de lire les réactions de l’utilisateur lors de la participation à une réunion.
extensions
Facultatif : objet
La extensions
propriété spécifie les compléments Outlook dans un manifeste d’application et simplifie la distribution et l’acquisition dans l’écosystème Microsoft 365. Chaque application ne prend en charge qu’une seule extension.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
requirements |
Objet | Spécifie l’ensemble des exigences du client ou de l’hôte pour l’extension. | ||
runtimes |
Tableau | 20 | Configure l’ensemble des runtimes et des actions qui peuvent être utilisés par chaque point d’extension. Pour plus d’informations, consultez runtimes dans les compléments Office. | |
ribbons |
Tableau | 20 | Définit le point d’extension des rubans. | |
autoRunEvents |
Tableau | 10 | Définit le point d’extension d’activation basée sur les événements. | |
alternates |
Tableau | 10 | Spécifie la relation avec d’autres solutions Microsoft 365 existantes. Il est utilisé pour masquer ou hiérarchiser les compléments du même éditeur avec des fonctionnalités qui se chevauchent. | |
audienceClaimUrl |
Chaîne | 2 048 caractères | Spécifie l’URL de votre extension et est utilisée pour valider les jetons d’identité utilisateur Exchange. Pour plus d’informations, consultez à l’intérieur du jeton d’identité Exchange. |
Pour plus d’informations, voir Manifeste des compléments Office pour Microsoft 365.
extensions.requirements
L’objet extensions.requirements
spécifie les étendues, les facteurs de forme et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que le complément soit installé. Les exigences sont également prises en charge sur les propriétés enfants « ribbon », « runtime », « alternates » et « autoRunEvents » pour filtrer sélectivement certaines fonctionnalités du complément. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
capabilities |
Tableau | 100 | Identifie les ensembles de conditions requises. | |
capabilities.name |
String | ✔️ | Identifie le nom de l’ensemble de conditions requises. | |
capabilities.minVersion |
String | Identifie la version minimale de l’ensemble de conditions requises. | ||
capabilities.maxVersion |
String | Identifie la version maximale de l’ensemble de conditions requises. | ||
scopes |
Tableau d’énumérations | 1 | Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook). Valeur prise en charge : mail |
|
formFactors |
Tableau d’énumérations | Identifie les facteurs de forme qui prennent en charge le complément. Valeurs prises en charge : mobile , desktop |
extensions.runtimes
Facultatif – Tableau
Le extensions.runtimes
tableau configure les ensembles de runtimes et d’actions que chaque point d’extension peut utiliser.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
id |
String | 64 caractères | ✔️ | Spécifie l’ID du runtime. |
type |
Énumération de chaîne | ✔️ | Spécifie le type de runtime. La valeur d’énumération prise en charge pour le runtime basé sur un navigateur est general . |
|
code |
Objet | ✔️ | Spécifie l’emplacement du code pour le runtime.
runtime.type Selon , les compléments peuvent utiliser un fichier JavaScript ou une page HTML avec une balise incorporée script qui spécifie l’URL d’un fichier JavaScript. Les deux URL sont nécessaires dans les situations où est runtime.type incertain. |
|
code.page |
Chaîne | 2 048 caractères | ✔️ | Spécifie l’URL de la page web qui contient une balise incorporée script , qui spécifie l’URL d’un fichier JavaScript (à charger dans un runtime basé sur un navigateur). |
code.script |
Chaîne | 2 048 caractères | Spécifie l’URL du fichier JavaScript à charger dans le runtime JavaScript uniquement. | |
lifetime |
Énumération de chaîne | Spécifie la durée de vie du runtime. Les runtimes avec une short durée de vie ne conservent pas l’état entre les exécutions, contrairement aux runtimes avec une long durée de vie. Pour plus d’informations, voir Runtimes dans les compléments Office.Valeur par défaut: short |
||
actions |
Tableau | 20 | Spécifie l’ensemble d’actions prises en charge par le runtime. Une action exécute une fonction JavaScript ou ouvre une vue telle qu’un volet Office. | |
actions.id |
String | 64 caractères | ✔️ | Spécifie l’ID de l’action, qui est passé au fichier de code. |
actions.type |
String | ✔️ | Spécifie le type d’action. Le executeFunction type exécute une fonction JavaScript sans attendre qu’elle se termine et le openPage type ouvre une page dans une vue donnée. |
|
actions.displayName |
String | 64 caractères | Spécifie le nom complet de l’action et ce n’est pas l’étiquette d’un bouton ou d’un élément de menu qui appelle l’action (qui est configurée avec tabs.groups.controls.label ). |
|
actions.pinnable |
Boolean | Indique qu’un volet des tâches prend en charge l’épinglage, ce qui conserve le volet des tâches ouvert lorsque l’utilisateur modifie la sélection. Valeur par défaut: false |
||
actions.view |
String | 64 caractères | Spécifie la vue dans laquelle la page doit être ouverte. Il est utilisé uniquement lorsque actions.type a la valeur openPage . |
|
actions.multiselect |
Boolean | Spécifie si l’utilisateur final peut sélectionner plusieurs éléments, tels que plusieurs e-mails, et appliquer l’action à tous. Valeur par défaut: false |
||
actions.supportsNoItemContext |
Boolean | Autorise l’activation des compléments du volet Office sans que le volet de lecture soit activé ou qu’un message soit sélectionné. Valeur par défaut: false |
||
requirements |
Objet | Spécifie les étendues, formFactors et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que le runtime soit inclus dans le complément. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365. | ||
requirements.capabilities |
Tableau | Identifie les ensembles de conditions requises. Options : name (obligatoire), minVersion , maxVersion |
||
requirements.capabilities.name |
String | ✔️ | Identifie le nom de l’ensemble de conditions requises. | |
requirements.capabilities.minVersion |
String | Identifie la version minimale de l’ensemble de conditions requises. | ||
requirements.capabilities.maxVersion |
String | Identifie la version maximale de l’ensemble de conditions requises. | ||
requirements.scopes |
Tableau d’énumérations | 1 | Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook). Valeur prise en charge : mail |
|
requirements.formFactors |
Tableau d’énumérations | Identifie les facteurs de forme qui prennent en charge le complément. Valeurs prises en charge : mobile , desktop |
Pour utiliser extensions.runtimes
, consultez Créer des commandes de complément, configurer le runtime pour un volet Office et configurer le runtime pour la commande de fonction.
extensions.ribbons
Facultatif – Tableau
La extensions.ribbons
propriété permet d’ajouter des commandes de complément (boutons et éléments de menu) au ruban de l’application Microsoft 365. La définition du ruban est sélectionnée dans le tableau en fonction des exigences et du premier ordre.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
contexts |
Tableau | 7 | Spécifie la fenêtre d’application Microsoft 365 dans laquelle la personnalisation du ruban est disponible pour l’utilisateur. Chaque élément du tableau est membre d’un tableau de chaînes. Valeurs prises en charge : mailRead , mailCompose , meetingDetailsOrganizer , meetingDetailsAttendee , onlineMeetingDetailsOrganizer , logEventMeetingDetailsAttendee , default |
|
requirements |
Objet | Spécifie les étendues, formFactors et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que la personnalisation du ruban apparaisse. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365. | ||
requirements.capabilities |
Tableau | Identifie les ensembles de conditions requises. Options : name (obligatoire), minVersion , maxVersion |
||
requirements.capabilities.name |
String | ✔️ | Identifie le nom de l’ensemble de conditions requises. | |
requirements.capabilities.minVersion |
String | Identifie la version minimale de l’ensemble de conditions requises. | ||
requirements.capabilities.maxVersion |
String | Identifie la version maximale de l’ensemble de conditions requises. | ||
requirements.scopes |
Tableau d’énumérations | 1 | Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook). Valeur prise en charge : mail |
|
requirements.formFactors |
Tableau d’énumérations | Identifie les facteurs de forme qui prennent en charge le complément. Valeurs prises en charge : mobile , desktop |
||
tabs |
Tableau | 20 | ✔️ | Configure les onglets personnalisés sur le ruban de l’application Microsoft 365. |
tabs.id |
String | 64 caractères | Spécifie l’ID de l’onglet dans l’application. | |
tabs.builtInTabId |
String | 64 caractères | Spécifie l’ID d’un onglet du ruban Office intégré. Pour plus d’informations sur les valeurs possibles, consultez les ID des onglets du ruban Office intégrés. Les seules autres propriétés enfants de l’objet tab qui peuvent être combinées avec celle-ci sont groups et customMobileRibbonGroups . |
|
tabs.label |
String | 64 caractères | Spécifie le texte affiché pour l’onglet. Malgré la longueur maximale de 64 caractères, pour aligner correctement l’onglet dans le ruban, nous vous recommandons de limiter l’étiquette à 16 caractères. | |
tabs.position |
Objet | Configure la position de l’onglet personnalisé par rapport aux autres onglets du ruban. | ||
tabs.position.builtInTabId |
String | 64 caractères | ✔️ | Spécifie l’ID de l’onglet intégré à laquelle l’onglet personnalisé doit être placé en regard. Pour plus d’informations, consultez rechercher les ID des contrôles et des groupes de contrôles. |
tabs.position.align |
Énumération de chaîne | ✔️ | Définit l’alignement de l’onglet personnalisé par rapport à l’onglet intégré spécifié. Valeurs prises en charge : after , before |
|
tabs.groups |
Tableau | 10 | Définit des groupes de contrôles sur un onglet de ruban sur un appareil non mobile. Pour les appareils mobiles, consultez tabs.customMobileRibbonGroups . |
|
tabs.groups.id |
String | 64 caractères | Spécifie l’ID du groupe d’onglets dans l’application. Il doit être différent de n’importe quel ID de groupe intégré dans l’application Microsoft 365 et tout autre groupe personnalisé. | |
tabs.groups.label |
String | 64 caractères | Spécifie le texte affiché pour le groupe. Malgré la longueur maximale de 64 caractères, pour aligner correctement l’onglet dans le ruban, nous vous recommandons de limiter l’étiquette à 16 caractères. | |
tabs.groups.icons |
Tableau | 3 | Spécifie les icônes affichées pour le groupe. | |
tabs.groups.icons.size |
Nombre | ✔️ | Spécifie la taille de l’icône en pixels, énumérée sous la forme 16 ,20 ,24 ,32 ,40 ,48 ,64 , .80 Tailles d’image requises : 16 , 32 , 80 . |
|
tabs.groups.icons.url |
Chaîne | 2 048 caractères | ✔️ | Spécifie l’URL absolue de l’icône. |
tabs.groups.controls |
Tableau | Configure les boutons et les menus du groupe. | ||
tabs.groups.controls.id |
String | 64 caractères | ✔️ | Spécifie l’ID du contrôle dans l’application. Il doit être différent de tout ID de contrôle intégré dans l’application Microsoft 365 et de tout autre contrôle personnalisé. |
tabs.groups.controls.items |
Tableau | Configure les éléments d’un contrôle de menu. | ||
tabs.groups.controls.items.id |
String | ✔️ | Spécifie l’ID d’un élément de menu. | |
tabs.groups.controls.items.type |
Énumération de chaîne | ✔️ | Définit le type de contrôle de l’élément de menu. Valeurs prises en charge : button |
|
tabs.groups.controls.items.label |
String | 64 caractères | ✔️ | Spécifie le texte affiché pour l’élément de menu. |
tabs.groups.controls.items.icons |
Tableau | Configure les icônes de l’élément de menu. | ||
tabs.groups.controls.items.icons.size |
Nombre | ✔️ | Spécifie la taille de l’icône en pixels, énumérée sous la forme 16 ,20 ,24 ,32 ,40 ,48 ,64 , .80 Tailles d’image requises : 16 , 32 , 80 . |
|
tabs.groups.controls.items.icons.url |
URL | ✔️ | Spécifie l’URL absolue de l’icône. | |
tabs.groups.controls.items.supertip |
✔️ | Configure une info-bulle pour l’élément de menu. Une super-info est une fonctionnalité d’interface utilisateur qui affiche une brève zone d’informations d’aide sur un contrôle lorsque le curseur pointe dessus. La zone peut contenir plusieurs lignes de texte. | ||
tabs.groups.controls.items.supertip.title |
String | 64 caractères | ✔️ | Spécifie le texte de titre de l’info-bulle. |
tabs.groups.controls.items.supertip.description |
Chaîne | 128 caractères | ✔️ | Spécifie la description de l’info-bulle. |
tabs.groups.controls.items.actionId |
String | 64 caractères | ✔️ | Spécifie l’ID de l’action effectuée lorsqu’un utilisateur sélectionne le contrôle ou l’élément de menu. doit actionId correspondre à une runtimes.actions.id valeur de propriété. |
tabs.groups.controls.items.enabled |
Boolean | Indique si l’élément de menu est initialement activé. Valeur par défaut: true |
||
tabs.groups.controls.items.overriddenByRibbonApi |
Boolean | Spécifie si l’élément de menu est masqué sur les combinaisons d’applications et de plateformes qui prennent en charge l’API (Office.ribbon.requestCreateControls). Cette API installe des onglets contextuels personnalisés sur le ruban. Valeur par défaut: false |
||
tabs.groups.controls.type |
String | ✔️ | Définit le type de contrôle. Valeurs prises en charge : button , menu |
|
tabs.groups.controls.builtInControlId |
String | 64 caractères | ✔️ | Spécifie l’ID d’un contrôle Microsoft 365 existant. Pour plus d’informations, consultez rechercher les ID des contrôles et des groupes de contrôles. Cette propriété ne peut pas être combinée avec d’autres propriétés enfants de l’objet de contrôle, car les contrôles intégrés ne sont pas personnalisables par un complément. |
tabs.groups.controls.label |
String | 64 caractères | ✔️ | Spécifie le texte affiché pour le contrôle. Malgré la longueur maximale de 64 caractères, pour aligner correctement l’onglet dans le ruban, nous vous recommandons de limiter l’étiquette à 16 caractères. |
tabs.groups.controls.icons |
Tableau | ✔️ | Définit les icônes du contrôle. Il doit y avoir au moins trois objets enfants ; chacun avec size des propriétés de 16 pixels , 32 et 80 . |
|
tabs.groups.controls.icons.size |
Nombre | ✔️ | Spécifie la taille de l’icône en pixels, énumérée sous la forme 16 ,20 ,24 ,32 ,40 ,48 ,64 , .80 Tailles d’image requises : 16 , 32 , 80 |
|
tabs.groups.controls.icons.url |
URL | Spécifie l’URL absolue du fichier d’icône. | ||
tabs.groups.controls.supertip |
Objet | ✔️ | Configure une super-info pour le contrôle. Une super-info est une fonctionnalité d’interface utilisateur qui affiche une brève zone d’informations d’aide sur un contrôle lorsque le curseur pointe dessus. La zone peut contenir plusieurs lignes de texte. | |
tabs.groups.controls.supertip.title |
String | 64 caractères | ✔️ | Spécifie le texte de titre de l’info-bulle. |
tabs.groups.controls.supertip.description |
Chaîne | 128 caractères | ✔️ | Spécifie la description de l’info-bulle. |
tabs.groups.controls.actionId |
String | 64 caractères | Obligatoire si le type de contrôle est button . N’utilisez pas si le type de contrôle est menu . Spécifie l’ID de l’action effectuée lorsqu’un utilisateur sélectionne le contrôle. doit actionId correspondre à la runtime.actions.id propriété d’une action dans l’objet runtimes . |
|
tabs.groups.controls.enabled |
Boolean | Indique si le contrôle est initialement activé. Valeur par défaut: true |
||
tabs.groups.controls.overriddenByRibbonApi |
Boolean | Spécifie si le contrôle est masqué sur les combinaisons d’applications et de plateformes qui prennent en charge l’API (Office.ribbon.requestCreateControls). Cette API installe des onglets contextuels personnalisés sur le ruban. Valeur par défaut: false |
||
tabs.groups.builtInGroupId |
String | 64 caractères | Spécifie l’ID d’un groupe intégré. Pour plus d’informations, consultez rechercher les ID des contrôles et des groupes de contrôles. Cette propriété ne peut pas être combinée avec d’autres propriétés enfants de l’objet groupe, car les groupes intégrés ne sont pas personnalisables par un complément. | |
tabs.customMobileRibbonGroups |
Tableau | 10 | Définit des groupes de contrôles sous l’onglet par défaut du ruban sur un appareil mobile. Cette propriété de tableau ne peut être présente que sur les objets tab qui ont une tabs.builtInTabId propriété définie sur DefaultTab . Pour les appareils non mobiles, voir tabs.groups ci-dessus. |
|
tabs.customMobileRibbonGroups.id |
String | 250 caractères | ✔️ | Spécifie l’ID du groupe. Il doit être différent de n’importe quel ID de groupe intégré dans l’application Microsoft 365 et tout autre groupe personnalisé. |
tabs.customMobileRibbonGroups.label |
Chaîne | 32 caractères | ✔️ | Spécifie l’étiquette sur le groupe. |
tabs.customMobileRibbonGroups.controls |
Tableau | 20 | ✔️ | Définit les contrôles du groupe. Seuls les boutons mobiles sont pris en charge. |
tabs.customMobileRibbonGroups.controls.id |
String | 250 caractères | ✔️ | Spécifie l’ID du contrôle tel que msgReadFunctionButton . |
tabs.customMobileRibbonGroups.controls.type |
Énumération de chaîne | ✔️ | Spécifie le type de contrôle. Valeur prise en charge : MobileButton |
|
tabs.customMobileRibbonGroups.controls.label |
Chaîne | 32 caractères | ✔️ | Spécifie l’étiquette sur le contrôle. |
tabs.customMobileRibbonGroups.controls.actionId |
String | 64 caractères | ✔️ | Spécifie l’ID de l’action effectuée lorsqu’un utilisateur sélectionne le contrôle. doit actionId correspondre à la runtime.actions.id propriété d’une action dans l’objet runtimes . |
tabs.customMobileRibbonGroups.controls.icons |
Tableau | 9 | ✔️ | Spécifie les icônes qui apparaissent sur le contrôle en fonction des dimensions et de la résolution de l’écran de l’appareil mobile. Il doit y avoir exactement 9 icônes. |
tabs.customMobileRibbonGroups.controls.icons.size |
Énumération de nombres | ✔️ | Taille en pixels de l’icône. Les tailles requises sont 25, 32 et 48. Il doit y avoir exactement une de chaque taille pour chaque valeur possible de la propriété des scale icônes. |
|
tabs.customMobileRibbonGroups.controls.icons.url |
Chaîne | 2 048 caractères | ✔️ | URL complète et absolue du fichier image de l’icône. |
tabs.customMobileRibbonGroups.controls.icons.scale |
Énumération de nombres | ✔️ | Spécifie la propriété UIScreen.scale pour les appareils iOS. Les valeurs possibles sont 1, 2 et 3. Il doit y avoir exactement une de chaque valeur pour chaque valeur possible de la propriété des size icônes. |
Pour utiliser extensions.ribbons
, consultez Créer des commandes de complément, configurer l’interface utilisateur pour la commande du volet Office et configurer l’interface utilisateur pour la commande de fonction.
extensions.autoRunEvents
Facultatif – Tableau
La extensions.autoRunEvents
propriété définit les points d’extension d’activation basés sur les événements.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
events |
Tableau | 20 | ✔️ | Configure l’événement qui provoque l’exécution automatique des actions dans un complément Outlook. Par exemple, consultez Utiliser des alertes intelligentes et les OnMessageSend événements et OnAppointmentSend dans vos compléments Outlook. |
events.type |
String | 64 caractères | ✔️ | Spécifie le type d’événement. Pour les types pris en charge, consultez événements pris en charge. |
events.actionId |
String | 64 caractères | ✔️ | Identifie l’action effectuée lorsque l’événement se déclenche. doit actionId correspondre à runtime.actions.id . |
events.options |
Objet | Configure la façon dont Outlook répond à l’événement. | ||
events.options.sendMode |
String | ✔️ | Spécifie les actions à effectuer lors d’une action d’envoi de courrier. Valeurs prises en charge : promptUser , softBlock , block . Pour plus d’informations, consultez options du mode d’envoi disponibles. |
|
requirements |
Objet | Spécifie les étendues, formFactors et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que le code de gestion des événements s’exécute. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365. | ||
requirements.capabilities |
Tableau | Identifie les ensembles de conditions requises. Options : name (obligatoire), minVersion , maxVersion |
||
requirements.capabilities.name |
String | ✔️ | Identifie le nom de l’ensemble de conditions requises. | |
requirements.capabilities.minVersion |
String | Identifie la version minimale de l’ensemble de conditions requises. | ||
requirements.capabilities.maxVersion |
String | Identifie la version maximale de l’ensemble de conditions requises. | ||
requirements.scopes |
Tableau d’énumérations | 1 | Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook). Valeur prise en charge : mail |
|
requirements.formFactors |
Tableau d’énumérations | Identifie les facteurs de forme qui prennent en charge le complément. Valeurs prises en charge : mobile , desktop |
extensions.alternates
Facultatif – Tableau
La extensions.alternates
propriété est utilisée pour masquer ou hiérarchiser des compléments spécifiques sur le marché lorsque vous avez publié plusieurs compléments avec des fonctionnalités qui se chevauchent.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
prefer |
Objet | Spécifie la compatibilité descendante avec un complément COM équivalent, un complément XLL ou les deux. | ||
prefer.comAddin |
Objet | Spécifie un complément COM qui doit être utilisé à la place du complément web Microsoft 365 pour Windows. | ||
prefer.comAddin.progId |
String | 64 caractères | ✔️ | Identifie le type d’application dans lequel l’extension peut s’exécuter. |
hide |
Objet | Configure comment masquer un autre complément que vous avez publié chaque fois que le complément est installé, afin que les utilisateurs ne voient pas les deux dans l’interface utilisateur de Microsoft 365. Par exemple, utilisez cette propriété lorsque vous avez précédemment publié un complément qui utilise l’ancien manifeste d’application XML et que vous le remplacez par une version qui utilise le nouveau manifeste d’application JSON. | ||
hide.storeOfficeAddin |
Objet | Spécifie un complément Microsoft 365 disponible dans Microsoft AppSource. | ||
hide.storeOfficeAddin.officeAddinId |
String | 64 caractères | ✔️ | Spécifie l’ID du complément dans le marché à masquer. Le GUID provient de la propriété manifeste id de l’application si le complément sur le marché utilise le manifeste d’application JSON. Le GUID est tiré de l’élément <Id> si le complément in-market utilise le manifeste d’application XML. |
hide.storeOfficeAddin.assetId |
String | 64 caractères | ✔️ | Spécifie l’ID de ressource AppSource du complément dans le marché à masquer. |
hide.customOfficeAddin |
Objet | Configure comment masquer un complément sur le marché qui n’est pas distribué via AppSource. | ||
hide.customOfficeAddin.officeAddinId |
String | 64 caractères | ✔️ | Spécifie l’ID du complément dans le marché à masquer. Le GUID provient de la propriété manifeste id de l’application si le complément sur le marché utilise le manifeste d’application JSON. Le GUID est tiré de l’élément <Id> si le complément in-market utilise le manifeste d’application XML. |
requirements |
Objet | Spécifie les étendues, formFactors et les ensembles de conditions requises de la bibliothèque JavaScript Office qui doivent être pris en charge sur le client Office pour que les propriétés « hide », « prefer » ou « alternateIcons » prennent effet. Pour plus d’informations, voir Spécifier les exigences du complément Office dans le manifeste unifié pour Microsoft 365. | ||
requirements.capabilities |
Tableau | Identifie les ensembles de conditions requises. Options : name (obligatoire), minVersion , maxVersion |
||
requirements.capabilities.name |
String | ✔️ | Identifie le nom de l’ensemble de conditions requises. | |
requirements.capabilities.minVersion |
String | Identifie la version minimale de l’ensemble de conditions requises. | ||
requirements.capabilities.maxVersion |
String | Identifie la version maximale de l’ensemble de conditions requises. | ||
requirements.scopes |
Tableau d’énumérations | 1 | Identifie les étendues dans lesquelles le complément peut s’exécuter et définit les applications Microsoft 365 dans lesquelles l’extension peut s’exécuter. Par exemple, mail (Outlook). Valeur prise en charge : mail |
|
requirements.formFactors |
Tableau d’énumérations | Identifie les facteurs de forme qui prennent en charge le complément. Valeurs prises en charge : mobile , desktop |
||
alternateIcons |
Objet | Spécifie les icônes main utilisées pour représenter le complément sur les versions antérieures d’Office. Cette propriété est requise si le complément Office doit pouvoir être installé dans Office sur Mac, les licences Office perpétuelles et les versions d’abonnement Microsoft 365 d’Office sur Windows antérieures à 2304 (build 16320.00000). | ||
alternateIcons.icon |
Objet | ✔️ | Spécifie les propriétés du fichier image utilisé pour représenter le complément. | |
alternateIcons.icon.size |
Énumération de nombres | ✔️ | Spécifie la taille de l’icône en pixels, énumérée sous la forme 16 ,20 ,24 ,32 ,40 ,48 ,64 , .80 Tailles d’image requises : 16 , 32 , 80 . |
|
alternateIcons.icon.url |
Chaîne | 2 048 caractères | ✔️ | Spécifie l’URL complète et absolue du fichier image utilisé pour représenter le complément. L’image d’icône doit être de 64 x 64 pixels et utiliser l’un des formats de fichier suivants : GIF, JPG, PNG, EXIF, BMP, TIFF. |
alternateIcons.highResolutionIcon |
Objet | ✔️ | Spécifie les propriétés du fichier image utilisé pour représenter le complément sur les écrans haute résolution. | |
alternateIcons.highResolutionIcon.size |
Énumération de nombres | ✔️ | Spécifie la taille de l’icône en pixels, énumérée sous la forme 16 ,20 ,24 ,32 ,40 ,48 ,64 , .80 Tailles d’image requises : 16 , 32 , 80 . |
|
alternateIcons.highResolutionIcon.url |
Chaîne | 2 048 caractères | ✔️ | Spécifie l’URL complète et absolue du fichier image utilisé pour représenter le complément sur les écrans haute résolution. L’image d’icône doit être de 128 x 128 pixels et utiliser l’un des formats de fichier suivants : GIF, JPG, PNG, EXIF, BMP, TIFF. |
dashboardCards
Facultatif – Tableau
Définit une liste de cartes qui peuvent être épinglées à un tableau de bord, par exemple Microsoft Viva Connections, pour fournir une vue résumée des informations de l’application. Pour en savoir plus sur la création de cartes pour Viva Connections tableau de bord, consultez Vue d’ensemble des extensions de carte adaptative alimentées par bot.
Cet élément est un tableau d’éléments dashboardCard
de type object
.
dashboardCards.dashboardCard
Définit un tableau de bord unique carte et ses propriétés.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
id |
String | ✔️ | Identificateur unique pour ce tableau de bord carte. L’ID doit être un GUID. | |
displayName |
String | 255 caractères | ✔️ | Nom d’affichage du carte. |
description |
String | 255 caractères | ✔️ | Description du carte. |
pickerGroupId |
String | ✔️ | ID du groupe dans le sélecteur de carte. L’ID doit être un GUID. | |
icon |
Objet | Spécifie l’icône pour le carte. | ||
contentSource |
Objet | ✔️ | Spécifie la source du contenu de l’carte | |
defaultSize |
String | ✔️ | Taille de rendu du tableau de bord carte. Options : medium ou large . |
dashboardCards.dashboardCard.icon
Définit les propriétés d’icône d’un tableau de bord donné carte.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
iconUrl |
Chaîne | 2 048 caractères | Emplacement de l’icône de l’carte, à afficher dans la boîte à outils et la barre de carte. | |
officeUIFabricIconName |
String | 255 caractères | Nom convivial de l’icône d’interface utilisateur Office UI Fabric ou Fluent pour le carte. Cette valeur est utilisée si iconUrl n’est pas spécifié. |
dashboardCards.dashboardCard.contentSource
Définit la source de contenu d’un tableau de bord donné carte.
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
sourceType |
String | Représente la source du contenu d’un carte. Option : bot . |
||
botConfiguration |
Objet | Configuration de la source du bot. Obligatoire si est sourceType défini sur bot . |
dashboardCards.dashboardCard.contentSource.botConfiguration
Nom | Type | Taille maximale | Requis | Description |
---|---|---|---|---|
botId |
String | ID d’application Microsoft unique pour le bot inscrit dans le Bot Framework. L’ID doit être un GUID. |
Créer un fichier manifeste d’application
Si votre application n’a pas de fichier manifeste d’application, vous devez le créer.
Pour créer un fichier manifeste d’application :
- Utilisez l’exemple de schéma de manifeste d’application pour créer un fichier .json.
- Enregistrez-le à la racine de votre dossier de projet en tant que
manifest.json
.
Voici un exemple de schéma de manifeste d’application pour une application à onglet avec l’authentification unique activée :
Remarque
L’exemple de contenu de manifeste d’application présenté ici concerne uniquement une application d’onglet. Il utilise des exemples de valeurs pour l’URI de sous-domaine. Pour plus d’informations, consultez Exemple de schéma de manifeste d’application.
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
"manifestVersion": "1.12",
"version": "1.0.0",
"id": "{new GUID for this Teams app - not the Microsoft Entra App ID}",
"developer": {
"name": "Microsoft",
"websiteUrl": "https://www.microsoft.com",
"privacyUrl": "https://www.microsoft.com/privacy",
"termsOfUseUrl": "https://www.microsoft.com/termsofuse"
},
"name": {
"short": "Teams Auth SSO",
"full": "Teams Auth SSO"
},
"description": {
"short": "Teams Auth SSO app",
"full": "The Teams Auth SSO app"
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#60A18E",
"staticTabs": [
{
"entityId": "auth",
"name": "Auth",
"contentUrl": "https://subdomain.example.com/Home/Index",
"scopes": [ "personal" ]
}
],
"configurableTabs": [
{
"configurationUrl": "https://subdomain.example.com/Home/Configure",
"canUpdateConfiguration": true,
"scopes": [
"team"
]
}
],
"permissions": [ "identity", "messageTeamMembers" ],
"validDomains": [
"{subdomain or ngrok url}"
],
"webApplicationInfo": {
"id": "{Microsoft Entra AppId}",
"resource": "api://subdomain.example.com/{Microsoft Entra AppId}"
}
}