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
, configurableTabs
composeExtensions
, 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 dependsOn element ). |
||
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 , meetingDetailsTab meetingChatTab , meetingSidePanel , meetingStage personalTab . |
|
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 , team et 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 , 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 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 . |
|
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 , medium ou 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 , 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: 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 , medium ou 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 , medium ou 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 , text textarea , 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 :
-
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 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.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 | 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 , meetingDetailsOrganizer meetingDetailsAttendee , , 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 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.
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 16 pixels , 32 et 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 . 48 40 32 24 20 16 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
Les actions pour Microsoft 365 sont disponibles en préversion publique pour les développeurs.
Les actions sont prises en charge pour l’application Microsoft 365 (Office) pour le web et le bureau.
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 , addTo et 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. |