Esquema de manifesto do aplicativo
O manifesto da aplicação (anteriormente denominado manifesto de aplicação do Teams) descreve como a sua aplicação se integra no produto Microsoft Teams. O manifesto do seu aplicativo deve estar em conformidade com o esquema hospedado em https://developer.microsoft.com/json-schemas/teams/v1.17/MicrosoftTeams.schema.json
. As versões anteriores 1.0, 1.1,...,1.16 e a versão atual são 1.17 suportadas (utilizando "v1.x" no URL).
Para obter mais informações sobre as alterações efetuadas em cada versão, veja Registo de alterações do manifesto de aplicação e, para versões anteriores, veja Versões do manifesto da aplicação.
A tabela a seguir lista as versões do TeamsJS e do manifesto do aplicativo de acordo com diferentes cenários de aplicativo:
Tipo de aplicativo | Versão do TeamsJS | Versão do Manifesto do aplicativo | Próximas etapas |
---|---|---|---|
Aplicações do Teams expandidas para o Outlook e o Microsoft 365 | TeamsJS v.2.19.0 ou posterior | v.1.13 ou posterior | Estender um aplicativo do Teams para ser executado no Microsoft 365 ou Criar um novo aplicativo do Microsoft 365 |
Aplicativos apenas Teams existentes | Atualize para o TeamsJS v.2.19.0 sempre que possível (a v.1.12 ainda é suportada*) | 1.12 | Entender a compatibilidade com versões anteriores do TeamsJSe Atualizar para o TeamsJS v.2.0 |
Novos aplicativos apenas Teams | TeamsJS v.2.19.0 ou posterior | 1.12 | Criar um novo aplicativo Teams usando o Kit de Ferramentas do Teams |
* Utilize o TeamsJS mais recente (v.2.19.0 ou posterior) sempre que possível, para tirar partido das melhorias mais recentes e do novo suporte de funcionalidades, incluindo aplicações apenas do Teams. O TeamsJS v.1.12 continua a ser suportado. No entanto, não são adicionadas novas funcionalidades ou melhorias. Os esquemas 1.12 e 1.13 são os mesmos. Para obter mais informações, veja Biblioteca teamsJS.
Observação
Se a sua aplicação Teams estiver a utilizar a versão 1.13 ou posterior do manifesto da aplicação, certifique-se de que a sua aplicação cumpre os critérios para expandir a sua aplicação para ser executada no Microsoft 365 ou no Outlook.
Segue-se o esquema de manifesto da aplicação de exemplo:
Manifesto de aplicação de exemplo
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.17/MicrosoftTeams.schema.json",
"manifestVersion": "1.17",
"version": "1.0.0",
"id": "%MICROSOFT-APP-ID%",
"localizationInfo": {
"defaultLanguageTag": "en-us",
"additionalLanguages": [
{
"languageTag": "es-es",
"file": "en-us.json"
}
]
},
"developer": {
"name": "Publisher Name",
"websiteUrl": "https://example.com/",
"privacyUrl": "https://example.com/privacy",
"termsOfUseUrl": "https://example.com/app-tos",
"mpnId": "1234567890"
},
"name": {
"short": "Name of your app (<=30 chars)",
"full": "Full name of app, if longer than 30 characters (<=100 chars)"
},
"description": {
"short": "Short description of your app (<= 80 chars)",
"full": "Full description of your app (<= 4000 chars)"
},
"icons": {
"outline": "A relative path to a transparent .png icon — 32px X 32px",
"color": "A relative path to a full color .png icon — 192px X 192px"
},
"accentColor": "A valid HTML color code.",
"configurableTabs": [
{
"configurationUrl": "https://contoso.com/teamstab/configure",
"scopes": [
"team",
"groupChat"
],
"canUpdateConfiguration": true,
"context": [
"channelTab",
"privateChatTab",
"meetingChatTab",
"meetingDetailsTab",
"meetingSidePanel",
"meetingStage"
],
"sharePointPreviewImage": "Relative path to a tab preview image for use in SharePoint — 1024px X 768",
"supportedSharePointHosts": [
"sharePointFullPage",
"sharePointWebPart"
]
}
],
"staticTabs": [
{
"entityId": "unique Id for the page entity",
"scopes": [
"personal"
],
"context": [
"personalTab",
"channelTab"
],
"name": "Display name of tab",
"contentUrl": "https://contoso.com/content (displayed in Teams canvas)",
"websiteUrl": "https://contoso.com/content (displayed in web browser)",
"searchUrl": "https://contoso.com/content (displayed in web browser)"
}
],
"supportedChannelTypes": [
"sharedChannels",
"privateChannels"
],
"bots": [
{
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"scopes": [
"team",
"personal",
"groupChat"
],
"needsChannelSelector": false,
"isNotificationOnly": false,
"supportsFiles": true,
"supportsCalling": false,
"supportsVideo": true,
"commandLists": [
{
"scopes": [
"team",
"groupChat"
],
"commands": [
{
"title": "Command 1",
"description": "Description of Command 1"
},
{
"title": "Command 2",
"description": "Description of Command 2"
}
]
},
{
"scopes": [
"personal",
"groupChat"
],
"commands": [
{
"title": "Personal command 1",
"description": "Description of Personal command 1"
},
{
"title": "Personal command N",
"description": "Description of Personal command N"
}
]
}
]
}
],
"connectors": [
{
"connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL%",
"scopes": [
"team"
],
"configurationUrl": "https://contoso.com/teamsconnector/configure"
}
],
"composeExtensions": [
{
"canUpdateConfiguration": true,
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"commands": [
{
"id": "exampleCmd1",
"title": "Example Command",
"type": "query",
"context": [
"compose",
"commandBox"
],
"description": "Command Description; e.g., Search on the web",
"initialRun": true,
"fetchTask": false,
"parameters": [
{
"name": "keyword",
"title": "Search keywords",
"inputType": "choiceset",
"description": "Enter the keywords to search for",
"value": "Initial value for the parameter",
"choices": [
{
"title": "Title of the choice",
"value": "Value of the choice"
}
]
}
]
},
{
"id": "exampleCmd2",
"title": "Example Command 2",
"type": "action",
"context": [
"message"
],
"description": "Command Description; e.g., Add a customer",
"initialRun": true,
"fetchTask": false ,
"parameters": [
{
"name": "custinfo",
"title": "Customer name",
"description": "Enter a customer name",
"inputType": "text"
}
]
},
{
"id": "exampleCmd3",
"title": "Example Command 3",
"type": "action",
"context": [
"compose",
"commandBox",
"message"
],
"description": "Command Description; e.g., Add a customer",
"fetchTask": false,
"taskInfo": {
"title": "Initial dialog title",
"width": "Dialog width",
"height": "Dialog height",
"url": "Initial webview URL"
}
}
],
"messageHandlers": [
{
"type": "link",
"value": {
"domains": [
"mysite.someplace.com",
"othersite.someplace.com"
],
"supportsAnonymizedPayloads": false
}
}
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"devicePermissions": [
"geolocation",
"media",
"notifications",
"midi",
"openExternal"
],
"validDomains": [
"contoso.com",
"mysite.someplace.com",
"othersite.someplace.com"
],
"webApplicationInfo": {
"id": "AAD App ID",
"resource": "Resource URL for acquiring auth token for SSO"
},
"authorization": {
"permissions": {
"resourceSpecific": [
{
"type": "Application",
"name": "ChannelSettings.Read.Group"
},
{
"type": "Delegated",
"name": "ChannelMeetingParticipant.Read.Group"
}
]
}
},
"showLoadingIndicator": false,
"isFullScreen": false,
"activities": {
"activityTypes": [
{
"type": "taskCreated",
"description": "Task created activity",
"templateText": "<team member> created task <taskId> for you"
},
{
"type": "userMention",
"description": "Personal mention activity",
"templateText": "<team member> mentioned you"
}
]
},
"defaultBlockUntilAdminAction": true,
"publisherDocsUrl": "https://example.com/app-info",
"defaultInstallScope": "meetings",
"defaultGroupCapability": {
"meetings": "tab",
"team": "bot",
"groupChat": "bot"
},
"configurableProperties": [
"name",
"shortDescription",
"longDescription",
"smallImageUrl",
"largeImageUrl",
"accentColor",
"developerUrl",
"privacyUrl",
"termsOfUseUrl"
],
"subscriptionOffer": {
"offerId": "publisherId.offerId"
},
"meetingExtensionDefinition": {
"scenes": [
{
"id": "9082c811-7e6a-4174-8173-6ccd57d377e6",
"name": "Getting started sample",
"file": "scenes/sceneMetadata.json",
"preview": "scenes/scenePreview.png",
"maxAudience": 15,
"seatsReservedForOrganizersOrPresenters": 0
},
{
"id": "afeaed22-f89b-48e1-98b4-46a514344e4a",
"name": "Sample-1",
"file": "scenes/sceneMetadata.json",
"preview": "scenes/scenePreview.png",
"maxAudience": 15,
"seatsReservedForOrganizersOrPresenters": 3
}
]
}
}
O esquema define as seguintes propriedades:
$esquema
Opcional, mas recomendado – Cadeia
O URL de https:// que referencia o Esquema JSON para o manifesto da aplicação.
manifestVersion
Necessário – Cadeia
A versão do esquema de manifesto da aplicação que este manifesto está a utilizar. Utilize 1.13
para ativar o suporte de aplicações do Teams no Outlook e na aplicação Microsoft 365; utilize 1.12
(ou anterior) para aplicações apenas do Teams.
versão
Necessário – Cadeia
A versão de um aplicativo específico. Quando atualiza algo no manifesto da aplicação, a versão também tem de ser incrementada. Desta forma, quando o novo manifesto de aplicação é instalado, substitui o existente e o utilizador recebe a nova funcionalidade. Quando esta aplicação foi submetida para a Microsoft Teams Store, o novo manifesto de aplicação tem de ser novamente submetido e revogado. Os utilizadores da aplicação recebem automaticamente o novo manifesto de aplicação atualizado poucas horas após a aprovação do manifesto da aplicação.
Se as solicitações de permissões do aplicativo forem alteradas, os usuários serão solicitados a atualizar e consentir novamente com o aplicativo..
Esta cadeia de caracteres da versão deve seguir o padrão semver (MAJOR.MINOR.PATCH).
Observação
Se a sua aplicação incluir um Suplemento do Office, cada segmento da cadeia de versão está limitado a um máximo de cinco dígitos. As extensões de cadeia de versão de pré-lançamento e metadados do semver standard não são suportadas.
ID
Necessário – ID da aplicação Microsoft
A ID é um identificador exclusivo gerado pela Microsoft para o aplicativo. O formato do ID é GUID. Você tem uma ID se seu bot estiver registrado por meio do Microsoft Bot Framework. Você tem uma ID se o aplicativo web da sua guia já entrar com a Microsoft. Você deve inserir a ID aqui. Caso contrário, você deverá gerar uma nova ID no Portal de Registro de Aplicativos da Microsoft. Use a mesma ID se você adicionar um bot.
O ID armazenado no Centro de Administração do Teams é o ID da Aplicação Externa e é visível como ExternalID nos rastreios.
Observação
Se estiver a submeter uma atualização para a sua aplicação existente no AppSource, o ID no manifesto da aplicação não pode ser modificado.
developer
Necessário – Objeto
Especifica informações sobre a sua empresa. Para aplicações submetidas para a Loja Teams, estes valores têm de corresponder às informações na sua listagem da Loja Teams. Para obter mais informações, consulte as diretrizes de publicação da Loja Teams. O nome do programador ajuda a melhorar a deteção de aplicações na Loja Teams.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
name |
Cadeia de caracteres | 32 caracteres | ✔️ | O nome de exibição do desenvolvedor. |
websiteUrl |
Cadeia de caracteres | 2048 caracteres | ✔️ | A URL https:// para o site do desenvolvedor. Esse link deve levar os usuários à página de destino específica da sua empresa ou do produto. |
privacyUrl |
Cadeia de caracteres | 2048 caracteres | ✔️ | A URL https:// para a política de privacidade do desenvolvedor. |
termsOfUseUrl |
Cadeia de caracteres | 2048 caracteres | ✔️ | A URL https:// para os termos de uso do desenvolvedor. |
mpnId |
Cadeia de caracteres | 10 caracteres | Opcional A ID do Microsoft Partner Network que identifica a organização parceira criadora do aplicativo. |
nome
Necessário – Objeto
O nome da sua experiência de aplicativo, exibido aos usuários na experiência do Teams. Para aplicativos enviados ao AppSource, esses valores devem corresponder às informações na entrada do AppSource. Os valores de short
e full
devem ser diferentes. O nome da aplicação ajuda a melhorar a deteção da sua aplicação na Loja Teams.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
short |
Cadeia de caracteres | 30 caracteres | ✔️ | O nome de exibição curto para o aplicativo. Utilize short a propriedade onde o espaço é limitado, como o cabeçalho da aplicação. |
full |
Cadeia de caracteres | 100 caracteres | ✔️ | O nome completo do aplicativo, utilizado se o nome completo do aplicativo exceder 30 caracteres. Utilize full a propriedade onde há mais espaço, como o catálogo de aplicações ou a página de detalhes da aplicação. |
Observação
- No manifesto da aplicação v1.17 ou posterior, a
full
propriedade é necessária e, para o manifesto da aplicação v1.16 ou anterior, não é necessária. - A
short
propriedade é utilizada em todas as superfícies de IU.
description
Necessário – Objeto
Descreve o seu aplicativo para os usuários. Para aplicativos enviados ao AppSource, esses valores devem corresponder às informações na entrada do AppSource. A descrição da aplicação ajuda a melhorar a deteção de aplicações na Loja Teams.
Certifique-se de que a sua descrição detalhe a sua experiência e ajude os clientes em potencial a entender o que sua experiência faz. Você deve anotar na descrição completa, se uma conta externa for necessária para uso. Os valores de short
e full
devem ser diferentes. A sua breve descrição não pode ser repetida dentro da descrição longa e não pode incluir qualquer outro nome de aplicação.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
short |
Cadeia de caracteres | 80 caracteres | ✔️ | Uma descrição curta da experiência do seu aplicativo, usada quando o espaço é limitado. |
full |
Cadeia de caracteres | 4000 caracteres | ✔️ | A descrição completa do seu aplicativo. |
localizationInfo
Opcional – Objeto
Permite a especificação de um idioma padrão e fornece ponteiros para mais arquivos de idioma. Para obter mais informações, consulte localização.
Nome | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|
defaultLanguageTag |
✔️ | A etiqueta de idioma das cadeias neste ficheiro de manifesto de aplicação de nível superior. |
localizationInfo.additionalLanguages
Uma matriz de objetos especificando mais traduções de idiomas.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
languageTag |
Cadeia de caracteres | ✔️ | A marca de idioma das cadeias de caracteres no arquivo fornecido. | |
file |
Cadeia de caracteres | 2048 caracteres | ✔️ | Um caminho de arquivo relativo para o arquivo .json que contém as cadeias de caracteres traduzidas. |
ícones
Necessário – Objeto
Ícones usados no aplicativo Teams. Os arquivos de ícone devem ser incluídos como parte do pacote de upload. Para obter mais informações, consulte Ícones.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
outline |
Cadeia de caracteres | 32 x 32 pixels | ✔️ | Um caminho de arquivo relativo para um ícone de contorno PNG transparente de 32x32. A cor do limite tem de ser branca. |
color |
Cadeia de caracteres | 192 x 192 pixels | ✔️ | Um caminho de arquivo relativo para um ícone PNG colorido de 192x192. |
accentColor
Obrigatório – código de cor Hexadecima html
Uma cor a utilizar e como fundo para os ícones de cor.
O valor deve ser um código de cor HTML válido começando com '#', por exemplo #4464ee
. Para obter mais informações, consulte accentColor.
configurbleTabs
Opcional – Matriz
Utilizado quando a sua experiência de aplicação tem uma experiência de separador de canal de equipa que requer configuração adicional antes de ser adicionada. As guias configuráveis são compatíveis apenas nos escopos team
e groupChat
, sendo que você pode configurar as mesmas guias várias vezes. No entanto, pode defini-lo no manifesto da aplicação apenas uma vez.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
configurationUrl |
Cadeia de caracteres | 2048 caracteres | ✔️ | A URL https:// a ser usada ao configurar a guia. |
scopes |
Matriz de enumerações | 2 | ✔️ | Os separadores configuráveis suportam apenas os team âmbitos e groupChat . |
canUpdateConfiguration |
Booliano | Um valor que indica se uma instância da configuração da guia pode ser atualizada pelo usuário após a criação. Valor predefinido: true |
||
meetingSurfaces |
Matriz de enumerações | 2 | O conjunto de meetingSurfaceItem escopos em que uma guia é compatível. Valores predefinidos: sidePanel , stage |
|
context |
Matriz de enumerações | 8 | O conjunto de contextItem escopos em que uma guia é compatível. Valor aceite: [personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab, meetingSidePanel, meetingStage]. |
|
sharePointPreviewImage |
Cadeia de caracteres | 2048 caracteres | Um caminho de arquivo relativo para uma imagem de visualização de guia para uso no SharePoint. Tamanho 1024x768. | |
supportedSharePointHosts |
Matriz de enumerações | 2 | Define como a sua guia é disponibilizada no SharePoint. As opções são sharePointFullPage e sharePointWebPart . |
staticTabs
Opcional – Matriz
Define um conjunto de separadores que podem ser afixados por predefinição, sem que o utilizador os adicione manualmente. As guias estáticas declaradas no escopo personal
são sempre vinculadas à experiência pessoal do aplicativo.
Este item é uma matriz (máximo de 16 elementos) com todos os elementos do tipo object
. Esse bloco é necessário apenas para soluções que fornecem uma solução de guia estática.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
entityId |
String | 64 caracteres | ✔️ | Um identificador exclusivo para a entidade que a guia exibe. |
name |
Cadeia de caracteres | 128 caracteres | O nome a apresentar do separador. | |
contentUrl |
Cadeia de caracteres | 2048 caracteres | A URL https:// que aponta para a interface do usuário da entidade a ser exibida na tela do Teams. | |
contentBotId |
Cadeia de caracteres | 128 caracteres | O ID da aplicação Microsoft especificado para o bot no portal do Bot Framework. | |
websiteUrl |
Cadeia de caracteres | 2048 caracteres | A URL https:// para apontar se um usuário optar por visualizar em um navegador. | |
searchUrl |
Cadeia de caracteres | 2048 caracteres | A URL https:// para apontar para as consultas de pesquisa de um usuário. | |
scopes |
Matriz de enumerações | 3 | ✔️ | Especifica se o separador oferece uma experiência no contexto de um canal numa equipa ou uma experiência confinada a um chat de utilizador ou grupo individual. Os separadores estáticos suportam personal apenas o âmbito. |
context |
Matriz de enumerações | 8 | O conjunto de contextItem contextos em que um separador é suportado.
Valores aceites: personalTab , , channelTab , privateChatTab meetingChatTab , , meetingDetailsTab , meetingStage , , . teamLevelApp meetingSidepanel
Valores predefinidos: personalTab , , channelTab privateChatTab , meetingChatTab , . meetingDetailsTab |
Observação
- Os
groupChat
âmbitos eteam
são suportados apenas na pré-visualização do programador público. - O
teamLevelApp
contexto é dedicado apenas para inquilinos do Education. - A
searchUrl
funcionalidade não está disponível para programadores de terceiros. - Se as suas guias exigirem informações dependentes do contexto para exibir conteúdo relevante ou para iniciar um fluxo de autenticação, para obter mais informações, consulte Obter contexto para sua guia do Microsoft Teams.
bots
Opcional – Matriz
Define uma solução de bot, juntamente com informações opcionais, como propriedades de comando padrão.
O item é uma matriz (no máximo, apenas um elemento— só é permitido um bot por aplicação) com todos os elementos do tipo object
. Esse bloco é necessário apenas para soluções que fornecem uma experiência de bot.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
botId |
Cadeia de caracteres | ✔️ | O ID exclusivo do aplicativo Microsoft para o bot conforme registrado na estrutura do bot. A ID pode ser igual a ID do aplicativo geral. | |
scopes |
Matriz de enumerações | 3 | ✔️ | Especifica se o bot oferece uma experiência no contexto de um canal em um team , em um chat de grupo (groupChat ) ou uma experiência delimitada apenas a um usuário individual (personal ). Essas opções são não exclusivas. |
needsChannelSelector |
Booliano | Descreve se o bot usa ou não uma dica de usuário para adicionar o bot a um canal específico. Valor predefinido: false |
||
isNotificationOnly |
Boolean | Indica se um bot é um bot unidirecional, somente para notificação, em vez de um bot de conversa. Valor predefinido: false |
||
supportsFiles |
Boolean | Indica se o bot é compatível com a capacidade de carregar/baixar arquivos em chat pessoal. Valor predefinido: false |
||
supportsCalling |
Booliano | Um valor que indica onde um bot dá suporte a chamadas de áudio.
IMPORTANTE: esta propriedade é experimental. As propriedades experimentais podem estar incompletas e podem sofrer alterações antes de estarem totalmente disponíveis. A propriedade é fornecida apenas para fins de teste e exploração e não deve ser usada em aplicativos de produção. Valor predefinido: false |
||
supportsVideo |
Booliano | Um valor que indica onde um bot oferece suporte a chamadas com vídeo.
IMPORTANTE: esta propriedade é experimental. As propriedades experimentais podem estar incompletas e podem sofrer alterações antes de estarem totalmente disponíveis. A propriedade é fornecida apenas para fins de teste e exploração e não deve ser usada em aplicativos de produção. Valor predefinido: false |
bots.configuration
Opcional – Objeto
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
team.fetchTask |
Booliano | ✔️ | Um valor booleano que indica se deve obter a caixa de diálogo (referida como módulo de tarefas no TeamsJS v1.x) dinamicamente. Valor predefinido: false |
|
team.taskInfo |
Objeto | ✔️ | A caixa de diálogo a pré-carregar quando utiliza um bot | |
team.taskInfo.title |
String | 64 caracteres | ✔️ | Título inicial da caixa de diálogo. |
team.taskInfo.width |
Cadeia de caracteres | 16 carateres | A largura da caixa de diálogo é um número em píxeis ou um esquema predefinido, como large , medium ou small . |
|
team.taskInfo.height |
Cadeia de caracteres | 16 carateres | A altura da caixa de diálogo é um número em píxeis ou um esquema predefinido, como large , medium ou small . |
|
team.taskInfo.url |
Cadeia de caracteres | 2048 caracteres | URL inicial da webview. | |
groupChat.fetchTask |
Booliano | ✔️ | Um valor booleano que indica se deve obter a caixa de diálogo dinamicamente. Valor predefinido: false |
|
groupChat.taskInfo |
Objeto | Caixa de diálogo a iniciar ao obter a tarefa definida como false. Valor predefinido: false |
||
groupChat.taskInfo.title |
String | 64 caracteres | ✔️ | Título inicial da caixa de diálogo. |
groupChat.taskInfo.width |
Cadeia de caracteres | 16 | A largura da caixa de diálogo é um número em píxeis ou um esquema predefinido, como large , medium ou small . |
|
groupChat.taskInfo.height |
Cadeia de caracteres | 16 | A altura da caixa de diálogo é um número em píxeis ou um esquema predefinido, como large , medium ou small . |
|
groupChat.taskInfo.url |
Cadeia de caracteres | 2048 caracteres | URL inicial da webview. |
bots.commandLists
Opcional – Matriz
Uma lista de comandos que seu bot pode recomendar aos usuários. O objeto é uma matriz (máximo de três elementos) com todos os elementos do tipo object
; tem de definir uma lista de comandos separada para cada âmbito suportado pelo bot. Para obter mais informações, confira Menus de Bot.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
scopes |
Matriz de enumerações | 3 | ✔️ | Especifica o escopo para o qual a lista de comandos é válida. As opção são team , personal e groupChat . |
commands |
Matriz de objetos | 10 | ✔️ | Uma matriz de comandos suportados pelo bot. |
Observação
O cliente móvel do Teams não suporta a aplicação de bot quando não existe nenhum valor na commandLists
propriedade.
bots.commandLists.commands
Necessário – Matriz
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
title |
Cadeia de caracteres | 32 | ✔️ | O nome do comando do bot. |
description |
Cadeia de caracteres | 128 caracteres | ✔️ | Uma descrição de texto simples ou um exemplo da sintaxe do comando e seus argumentos. |
conectores
Opcional – Matriz
O connectors
bloco define um cartão de conector para os Grupos do Microsoft 365 para a aplicação.
O objeto é uma matriz (máximo de 2 elementos) com todos os elementos do tipo object
. Este bloco é necessário apenas para soluções que fornecem um Conector.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
configurationUrl |
Cadeia de caracteres | 2048 caracteres | ✔️ | O URL de https:// a utilizar ao configurar o conector com a experiência de configuração inline. |
scopes |
Matriz de enumerações | 1 | ✔️ | Especifica se o Conector oferece uma experiência no contexto de um canal em um team , ou uma experiência com escopo apenas para um usuário individual (personal ). O team âmbito só é suportado. |
connectorId |
String | 64 caracteres | ✔️ | Um identificador exclusivo para o Conector que corresponde a sua ID no Painel do Desenvolvedor de Conectores. |
composeExtensions
Opcional – Matriz
Define uma extensão de mensagens para o aplicativo.
Observação
O nome da funcionalidade foi alterado de "compor extensão" para "extensão de mensagem" em novembro de 2017, mas o nome do manifesto da aplicação permanece o mesmo para que as extensões existentes continuem a funcionar.
O item é uma matriz (máximo de um elemento) com todos os elementos do tipo object
. Este bloco é necessário apenas para soluções que fornecem uma extensão de mensagens.
Nome | Tipo | Tamanho Máximo | Obrigatório | Descrição |
---|---|---|---|---|
botId |
Cadeia de caracteres | A ID exclusiva do aplicativo da Microsoft para o bot que oferece suporte à extensão de mensagens, conforme registrado no Bot Framework. A ID pode ser igual à ID geral do aplicativo. | ||
composeExtensionType |
Cadeia de caracteres | ✔️ | Tipo da extensão de composição. Os valores de enumeração são botBased e apiBased . |
|
authorization |
Objeto | 2 | Informações relacionadas com autorização para a extensão de mensagens baseada em API. | |
authorization.authType |
Cadeia de caracteres | Enumeração de possíveis tipos de autorização. Os valores suportados são none , apiSecretServiceAuth e microsoftEntra . |
||
authorization.microsoftEntraConfiguration |
Objeto | Detalhes de captura de objetos necessários para fazer o fluxo de autenticação microsoftEntra. Aplicável apenas quando o tipo de autenticação for microsoftEntra . |
||
authorization.microsoftEntraConfiguration.supportsSingleSignOn |
Booliano | Um valor que indica se o início de sessão único está configurado para a aplicação. | ||
authorization.apiSecretServiceAuthConfiguration |
Objeto | Objeto que captura os detalhes necessários para realizar a autenticação do serviço. Aplicável apenas quando o tipo de autenticação for apiSecretServiceAuth . |
||
authorization.apiSecretServiceAuthConfiguration.apiSecretRegistrationId |
Cadeia de caracteres | 128 caracteres | ID de registo devolvido quando o programador submete a chave de API através do Portal do Programador. | |
apiSpecificationFile |
Cadeia de caracteres | 2048 caracteres | Um caminho de ficheiro relativo para o ficheiro de especificação da API no pacote de manifesto. | |
canUpdateConfiguration |
Booliano | Um valor que indica se a configuração de uma extensão de mensagem pode ser atualizada pelo utilizador. Valor predefinido: false |
||
commands |
Matriz de objetos | 10 | ✔️ | Matriz de comandos com suporte da extensão de mensagens. |
messageHandlers |
Matriz de objetos | 5 | Uma lista de manipuladores que permitem que aplicativos sejam invocados quando determinadas condições são atendidas. | |
messageHandlers.type |
Cadeia de caracteres | O tipo de manipulador de mensagens. Deve ser link . |
||
messageHandlers.value.domains |
Matriz de cadeias de caracteres | 2048 caracteres | Matriz de domínios para os quais o manipulador de mensagens de link pode se registrar. | |
messageHandlers.value.supportsAnonymizedPayloads |
Booliano | Um valor booleano que indica se o processador de mensagens de ligação da aplicação suporta o fluxo de invocação anónimo. Valor predefinido: false |
composeExtensions.commands
Sua extensão de mensagens deve declarar um ou mais comandos com no máximo 10 comandos. Cada comando aparece no Microsoft Teams como uma interação potencial do ponto de entrada baseado na interface do usuário.
Cada item de comando é um objeto com a seguinte estrutura:
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
id |
String | 64 caracteres | ✔️ | A ID do comando. |
type |
String | O tipo do comando. Um de query ou action . Valor predefinido: query |
||
samplePrompts |
Matriz | 5 | Propriedade utilizada pelo Copilot para apresentar pedidos suportados pelo plug-in ao utilizador. | |
samplePrompts.text |
Cadeia de caracteres | 128 caracteres | ✔️ | Conteúdo do pedido de exemplo. |
apiResponseRenderingTemplateFile |
Cadeia de caracteres | 2048 caracteres | Um caminho de ficheiro relativo para o ficheiro de modelo de composição de resposta da API utilizado para formatar a resposta JSON da API do programador para a resposta do Cartão Ajustável. | |
context |
Matriz de cadeias de caracteres | 3 | Define de onde a extensão da mensagem pode ser invocada. Qualquer combinação de compose , commandBox e message . Valores predefinidos: compose, commandBox |
|
title |
Cadeia de caracteres | 32 caracteres | ✔️ | O nome do comando amigável. |
description |
Cadeia de caracteres | 128 caracteres | A descrição que aparece para os usuários para indicar a finalidade deste comando. | |
semanticDescription |
Cadeia de caracteres | 5000 carateres | Descrição semântica do comando para consumo por Copilot com Modelos de Linguagem Grande (LLMs). | |
initialRun |
Booliano | Um valor Booleano indica se o comando é executado inicialmente sem parâmetros. Valor predefinido: false |
||
fetchTask |
Booliano | Um valor Booleano que indica se tem de obter a caixa de diálogo (referida como módulo de tarefas no TeamsJS v1.x) dinamicamente. Valor predefinido: false |
||
taskInfo |
Objeto | Especifique a caixa de diálogo a pré-carregar quando utilizar um comando de extensão de mensagem. | ||
taskInfo.title |
String | 64 caracteres | Título inicial da caixa de diálogo. | |
taskInfo.width |
Cadeia de caracteres | Largura da caixa de diálogo – um número em pixels ou valores de esquema predefinidos, como large , medium ou small . |
||
taskInfo.height |
Cadeia de caracteres | Altura da caixa de diálogo – um número em píxeis ou valores de esquema predefinidos, como large , medium ou small . |
||
taskInfo.url |
Cadeia de caracteres | URL inicial da webview. | ||
parameters |
Matriz de objetos | 5 | A lista de parâmetros que o comando usa. | |
parameters.name |
String | 64 caracteres | ✔️ | O nome do parâmetro como ele aparece no cliente. O nome do parâmetro é incluído na solicitação do usuário. |
parameters.title |
Cadeia de caracteres | 32 caracteres | ✔️ | Título amigável para o parâmetro. |
parameters.description |
Cadeia de caracteres | 128 caracteres | Cadeia de caracteres amigável que descreve a finalidade desse parâmetro. | |
parameters.semanticDescription |
Cadeia de caracteres | 2000 carateres | Descrição semântica do parâmetro para consumo por Copilot com Modelos de Linguagem Grande (LLMs). | |
parameters.value |
Cadeia de caracteres | 512 caracteres | Valor inicial para o parâmetro. O valor não é suportado. | |
parameters.inputType |
Cadeia de caracteres | Define o tipo de controlo apresentado numa caixa de diálogo para fetchTask: false . O valor de entrada só pode ser um de text , textarea , number , date , time , toggle , . choiceset Valor predefinido: text |
||
parameters.choices |
Matriz de objetos | 10 itens | As opções de escolha para choiceset . Use apenas quando parameters.inputType for choiceset . |
|
parameters.choices.title |
Cadeia de caracteres | 128 caracteres | ✔️ | Títulor da escolha. |
parameters.choices.value |
Cadeia de caracteres | 512 caracteres | ✔️ | O valor da escolha. |
permissões
Opcional – Matriz de cadeias de carateres
Uma matriz de string
, que especifica quais permissões o aplicativo solicita, que permite que os usuários finais saibam como a extensão funciona. As seguintes opções não são exclusivas:
-
identity
Requer informações de identidade do utilizador. -
messageTeamMembers
Requer permissão para enviar mensagens diretas aos membros da equipa.
Alterar essas permissões durante a atualização do aplicativo faz com que seus usuários repitam o processo de consentimento depois de executar o aplicativo atualizado. Para saber mais, confira Atualizando seu aplicativo.
Observação
As permissões estão preteridas agora.
devicePermissions
Opcional – Matriz de cadeias de carateres
Fornece os recursos nativos no dispositivo de um usuário aos quais o seu aplicativo solicita acesso. As opções são:
geolocation
media
notifications
midi
openExternal
validDomains
Opcional (exceto Obrigatório onde indicado) – Matriz de cadeias
Uma lista de domínios válidos para sites que o aplicativo espera carregar no cliente do Teams. As listagens de domínio podem incluir curingas, por exemplo, *.example.com
. O domínio válido corresponde exatamente a um segmento do domínio; se você precisar combinar a.b.example.com
, use *.*.example.com
. Se a sua configuração de guias ou interface do usuário de conteúdo navegar para qualquer outro domínio que não seja a configuração de guias, esse domínio deverá ser especificado aqui.
Não inclua os domínios dos provedores de identidade aos quais você deseja oferecer suporte em seu aplicativo. Por exemplo, para autenticar com um ID do Google, é necessário redirecionar para accounts.google.com, no entanto, não pode incluir accounts.google.com no validDomains[]
.
Os aplicativos do Teams que exigem que suas próprias URLs do SharePoint funcionem bem incluem "{teamsitedomain}" em sua lista de domínios válida.
Importante
Não adicione domínios que estejam fora do seu controlo, diretamente ou através de carateres universais (). Por exemplo,.yoursite.com é válido, mas *.onmicrosoft.com não é válido porque não está sob o seu controlo.
Ao utilizar carateres universais, aplicam-se as seguintes regras:
- Se um segmento de subdomínio incluir um caráter universal, tem de ser o único caráter no segmento.
- Qualquer segmento anterior a um segmento de caráter universal também tem de ser um segmento de carateres universais.
Por exemplo, *.*.domain.com é válido, mas foo.*.myteam.domain.com não é válido.
O objeto é uma matriz com todos os elementos do tipo string
. O item máximo do objeto é 16 e o comprimento máximo é de 2048 carateres.
webApplicationInfo
Observação
A webApplicationInfo
propriedade está relacionada com um único domínio e não é suportada para vários domínios. Por conseguinte, se tiver duas aplicações alojadas em domínios diferentes, terá de criar manifestos de aplicação separados para cada aplicação.
Opcional – Objeto
Forneça o ID da Aplicação Microsoft Entra e as informações do Microsoft Graph para ajudar os utilizadores a iniciar sessão na sua aplicação de forma totalmente integrada. Se a sua aplicação estiver registada no Microsoft Entra ID, tem de fornecer o ID da Aplicação. Os administradores podem revisar facilmente as permissões e conceder consentimento no centro de administração do Teams.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
id |
Cadeia de caracteres | ✔️ | ID da aplicação Microsoft Entra da aplicação. Essa ID deve ser um GUID. | |
resource |
Cadeia de caracteres | 2048 caracteres | URL de recurso do aplicativo para adquirir token de autenticação para SSO.
NOTA: Se não estiver a utilizar o SSO, certifique-se de que introduz um valor de cadeia fictício neste campo no manifesto da aplicação, por exemplo, https://example para evitar uma resposta de erro. O valor da cadeia de URL fictício não pode conter domínios ou URLs que não estejam no seu controlo, diretamente ou através de carateres universais. Por exemplo, yourapp.onmicrosoft.com é válido, mas *.onmicrosoft.com não é válido. Os domínios de nível superior são proibidos, por exemplo, *.com , *.org . |
graphConnector
Opcional – Objeto
Especifique a configuração do conector de gráfico do aplicativo. Se estiver presente, webApplicationInfo.id também tem de ser especificado.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
notificationUrl |
Cadeia de caracteres | 2048 caracteres | ✔️ | A URL para a qual as notificações do conector do Graph para o aplicativo devem ser enviadas. |
showLoadingIndicator
Opcional – Booleano
Indica se deve ou não mostrar o indicador de carregamento quando um aplicativo ou guia está carregando. O padrão é false.
Observação
- Se selecionar
showLoadingIndicator
como verdadeiro no manifesto da aplicação, para carregar a página corretamente, modifique as páginas de conteúdo dos seus separadores e caixas de diálogo, conforme descrito em Mostrar um documento de indicador de carregamento nativo . - Se não modificar as páginas de conteúdo do separador, a aplicação de separador não carrega e mostra o erro
There was a problem reaching this app
.
isFullScreen
Opcional – Booleano
Indica se um aplicativo pessoal é renderizado sem uma barra de cabeçalho de guia (significando o modo de tela inteira). Valor predefinido: false
Observação
isFullScreen
funciona apenas para aplicativos publicados em sua organização. As aplicações de terceiros carregadas e publicadas não podem utilizar esta propriedade (é ignorada).O
isFullScreen=true
parâmetro elimina a barra de cabeçalho e o título fornecidos pelo Teams de aplicações e caixas de diálogo pessoais. No entanto, recomenda-se que não utilize oisFullScreen=true
parâmetro com aplicações de chat bot.
activities
Opcional – Objeto
Defina as propriedades que o seu aplicativo usa para postar um feed de atividades do usuário..
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
activityTypes |
Matriz de objetos | 128 itens | Forneça os tipos de atividades que seu aplicativo pode postar no feed de atividades de um usuário. |
activities.activityTypes
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
type |
String | 64 caracteres | ✔️ | O tipo de notificação. |
description |
Cadeia de caracteres | 128 caracteres | ✔️ | Uma breve descrição da notificação. |
templateText |
Cadeia de caracteres | 128 caracteres | ✔️ | Ex: "{actor} criou a tarefa {taskId} para você" |
{
"activities":{
"activityTypes":[
{
"type":"taskCreated",
"description":"Task Created Activity",
"templateText":"{actor} created task {taskId} for you"
},
{
"type":"teamMention",
"description":"Team Mention Activity",
"templateText":"{actor} mentioned team"
},
{
"type":"channelMention",
"description":"Channel Mention Activity",
"templateText":"{actor} mentioned channel"
},
{
"type":"userMention",
"description":"Personal Mention Activity",
"templateText":"{actor} mentioned user"
},
{
"type":"calendarForward",
"description":"Forwarding a Calendar Event",
"templateText":"{actor} sent user an invite on behalf of {eventOwner}"
},
{
"type":"calendarForward",
"description":"Forwarding a Calendar Event",
"templateText":"{actor} sent user an invite on behalf of {eventOwner}"
},
{
"type":"creatorTaskCreated",
"description":"Created Task Created",
"templateText":"The Creator created task {taskId} for you"
}
]
}
}
defaultInstallScope
Opcional – Cadeia
Especifica o escopo de instalação definido para este aplicativo por padrão. O âmbito definido é a opção apresentada no botão quando um utilizador tenta adicionar a aplicação. As opções são:
personal
team
groupChat
meetings
defaultGroupCapability
Opcional – Objeto
Quando um âmbito de instalação de grupo é selecionado, define a capacidade predefinida quando o utilizador instala a aplicação.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
team |
Cadeia de caracteres | Quando o escopo de instalação selecionado é team , este campo especifica o recurso padrão disponível. Opções: tab , bot ou connector . |
||
groupChat |
Cadeia de caracteres | Quando o escopo de instalação selecionado é groupChat , este campo especifica o recurso padrão disponível. Opções: tab , bot ou connector . |
||
meetings |
Cadeia de caracteres | Quando o escopo de instalação selecionado é meetings , este campo especifica o recurso padrão disponível. Opções: tab , bot ou connector . |
configurableProperties
Opcional – Matriz
O bloco configurableProperties
define as propriedades do aplicativo que os administradores do Teams podem personalizar. Para obter mais informações, consulte habilitar a personalização do aplicativo. A funcionalidade de personalização de aplicações não é suportada em aplicações personalizadas ou aplicações personalizadas criadas para a sua organização (aplicações LOB).
Observação
Um mínimo de uma propriedade deve ser definido. Você pode definir um máximo de nove propriedades neste bloco.
Você pode definir qualquer uma das seguintes propriedades:
- name: o nome a apresentar da aplicação.
- shortDescription: a breve descrição da aplicação.
- longDescription: a descrição longa da aplicação.
- smallImageUrl: o ícone de destaque da aplicação.
- largeImageUrl: o ícone de cor da aplicação.
- accentColor: a cor a utilizar e um fundo para os ícones de destaque.
- developerUrl: o URL HTTPS do site do programador.
- privacyUrl: o URL HTTPS da política de privacidade do programador.
- termsOfUseUrl: o URL HTTPS dos termos de utilização do programador.
supportedChannelTypes
Opcional – Matriz
Habilita seu aplicativo em canais não-padronizados. Se seu aplicativo der suporte a um escopo de equipe e esta propriedade for definida, o Teams habilita seu aplicativo em cada tipo de canal adequadamente. A propriedade supportedChannelTypes só suporta sharedChannels
e privateChannels
.
Observação
- Se seu aplicativo der suporte a um escopo de equipe, ele funciona nos canais padrão independentemente dos valores que são definidos nesta propriedade.
- Seu aplicativo pode levar em conta as propriedades únicas de cada um dos tipos de canal para funcionar corretamente. Para ativar o separador para canais privados e partilhados, veja Obter contexto em canais privados e obter contexto em canais partilhados
defaultBlockUntilAdminAction
Opcional – Booleano
Quando a propriedade defaultBlockUntilAdminAction
é definida como true, o aplicativo fica oculto dos usuários por padrão até que o administrador permita. Se definido como true, o aplicativo ficará oculto para todos os locatários e usuários finais. Os administradores de locatários podem ver o aplicativo no centro de administração do Teams e tomar medidas para permitir ou bloquear o aplicativo. O valor padrão é falso. Para obter mais informações sobre o bloco de aplicações predefinido, consulte Bloquear aplicações por predefinição para utilizadores até que um administrador aprove.
publisherDocsUrl
Opcional – Cadeia
Tamanho máximo - 2048 carateres
O valor do publisherDocsUrl
parâmetro é um URL HTTPS seguro para a página de documentação e informações da aplicação que os programadores de aplicações optam por fornecer. Os administradores de inquilinos obtêm documentação sobre a aplicação neste URL. O centro de administração do Teams apresenta o URL na página de detalhes da aplicação. A documentação pode incluir as instruções para os administradores facilitarem a adoção de aplicações e a implementação de aplicações. Na documentação da aplicação, também pode incluir instruções ou informações sobre a aplicação que são úteis para o administrador de inquilinos, utilizadores e outros intervenientes empresariais.
subscriptionOffer
Opcional – Objeto
Especifica a oferta de SaaS associada ao seu aplicativo.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
offerId |
Cadeia de caracteres | 2048 caracteres | ✔️ | Um identificador exclusivo que inclui a sua ID de editor e ID de oferta, que você pode encontrar no Partner Center. Você deve formatar a cadeia de caracteres como publisherId.offerId . |
meetingExtensionDefinition
Opcional – Objeto
Especifique a definição de extensão da reunião. Para obter mais informações, consulte cenas personalizadas do Modo Juntos no Teams.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
scenes |
Matriz de objetos | 5 itens | Cenas suportadas da reunião. | |
supportsStreaming |
Booliano | Um valor que indica se um aplicativo pode transmitir o conteúdo de áudio e vídeo da reunião para um ponto de extremidade de protocolo de reunião em tempo real (RTMP). Valor predefinido: false |
||
supportsAnonymousGuestUsers |
Booliano | Um valor que indica se uma aplicação suporta o acesso de utilizadores anónimos. Valor predefinido: false |
Observação
A supportsAnonymousGuestUsers
propriedade no esquema de manifesto da aplicação v1.16 é suportada apenas no novo cliente do Teams.
meetingExtensionDefinition.scenes
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
id |
Cadeia de caracteres | ✔️ | O identificador exclusivo para a cena. Essa ID deve ser um GUID. | |
name |
Cadeia de caracteres | 128 caracteres | ✔️ | O nome da cena. |
file |
Cadeia de caracteres | 2048 caracteres | ✔️ | O caminho do arquivo relativo para o arquivo JSON de metadados das cenas. |
preview |
Cadeia de caracteres | 2048 caracteres | ✔️ | O caminho do arquivo relativo para o ícone de visualização PNG das cenas. |
maxAudience |
Número inteiro | 50 | ✔️ | O número máximo de audiências suportadas na cena. |
seatsReservedForOrganizersOrPresenters |
Número inteiro | 50 | ✔️ | O número de assentos reservados para organizadores ou apresentadores. |
autorização
Opcional – Objeto
Observação
authorization
só é suportado para a versão 1.12 ou posterior do manifesto da aplicação.
Especifique e consolide as informações relacionadas à autorização para o aplicativo.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
permissions |
Objeto | Lista de permissões que o aplicativo precisa para funcionar. |
authorization.permissions
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
resourceSpecific |
Matriz de objetos | 16 itens | Permissões que protegem o acesso a dados no nível da instância do recurso. |
authorization.permissions.resourceSpecific
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
type |
Cadeia de caracteres | ✔️ | O tipo da permissão de consentimento específico do recurso (RSC). Opções: Application e Delegated . |
|
name |
Cadeia de caracteres | 128 caracteres | ✔️ | O nome da permissão RSC. Para obter mais informações, veja RSC application permissions and RSC delegated permissions (Permissões de aplicações RSC e permissões delegadas do RSC) |
Permissões da aplicação RSC
As permissões do aplicativo permitem que o aplicativo acesse dados sem um usuário conectado. Para obter informações sobre permissões de aplicação, veja Permissões RSC para o Microsoft Graph e o Microsoft BotSDK.
Permissões delegadas do RSC
As permissões delegadas permitem que o aplicativo acesse dados em nome do usuário conectado.
Permissões delegadas do RSC para uma equipa
Nome Descrição ChannelMeetingParticipant.Read.Group
Permite que o aplicativo leia as informações dos participantes, incluindo nome, função, ID, horários de ingresso e de saída, de reuniões de canal associadas a esta equipe, em nome do usuário conectado. ChannelMeetingIncomingAudio.Detect.Group
Permite que a aplicação detete áudio recebido em reuniões de canal associadas à equipa. ChannelMeetingActiveSpeaker.Read.Group
Permite que a aplicação leia os participantes que estão a enviar áudio para as reuniões de canal associadas à equipa. ChannelMeetingAudioVideo.Stream.Group
Permite que a aplicação transmita conteúdos de áudio-vídeo a partir de reuniões de canal associadas à equipa. InAppPurchase.Allow.Group
Permite que a aplicação mostre ofertas do marketplace aos utilizadores na equipa e conclua as compras na aplicação, em nome do utilizador com sessão iniciada. ChannelMeetingStage.Write.Group
Permite que a aplicação mostre conteúdo na fase da reunião em reuniões de canal associadas à equipa, em nome do utilizador com sessão iniciada. LiveShareSession.ReadWrite.Group
Permite que a aplicação crie e sincronize sessões live share para a equipa e obtenha informações relacionadas com o acesso, como o nome e a função, sobre a lista da equipa e quaisquer reuniões associadas, em nome do utilizador com sessão iniciada. MeetingParticipantReaction.Read.Group
Permite que a aplicação leia as reações dos participantes em reuniões de canal associadas à equipa. Permissões delegadas do RSC para conversas ou reuniões
Nome Descrição InAppPurchase.Allow.Chat
Permite que a aplicação mostre ofertas do marketplace aos utilizadores no chat e a qualquer reunião associada e conclua as compras na aplicação, em nome do utilizador com sessão iniciada. MeetingStage.Write.Chat
Permite que a aplicação mostre conteúdo na fase da reunião em reuniões associadas ao chat, em nome do utilizador com sessão iniciada. OnlineMeetingParticipant.Read.Chat
Permite que a aplicação leia as informações dos participantes, incluindo o nome, a função, o ID, a adesão e os horários à esquerda, da reunião associada ao chat, em nome do utilizador com sessão iniciada. OnlineMeetingParticipant.ToggleIncomingAudio.Chat
Permite que a aplicação alterne o áudio recebido para os participantes em reuniões associadas ao chat, em nome do utilizador com sessão iniciada. LiveShareSession.ReadWrite.Chat
Permite que a aplicação crie e sincronize sessões de Live Share para o chat e obtenha informações relacionadas com o acesso, como o nome e a função, sobre a lista do chat e quaisquer reuniões associadas, em nome do utilizador com sessão iniciada. MeetingParticipantReaction.Read.Chat
Permite que a aplicação leia as reações dos participantes em reuniões associadas ao chat. OnlineMeetingIncomingAudio.Detect.Chat
Permite que a aplicação detete alterações no estado do áudio recebido nas reuniões associadas ao chat, em nome do utilizador com sessão iniciada. OnlineMeetingActiveSpeaker.Read.Chat
Permite que a aplicação leia os participantes que estão a enviar áudio para as reuniões associadas ao chat. OnlineMeetingAudioVideo.Stream.Chat
Permite que a aplicação transmita em fluxo conteúdos de áudio-vídeo de reuniões associadas ao chat. Permissões delegadas do RSC para utilizadores
Nome Descrição CameraStream.Read.User
Permite que a aplicação leia o fluxo da câmara do utilizador. InAppPurchase.Allow.User
Permite que o aplicativo mostrar as ofertas do marketplace do usuário e conclua as compras do usuário dentro do aplicativo, em nome do usuário conectado. OutgoingVideoStream.Write.User
Permite que a aplicação modifique o vídeo de saída do utilizador. MicrophoneStream.Read.User
Permite que a aplicação leia o fluxo de microfone do utilizador. MeetingParticipantReaction.Read.User
Permite que a aplicação leia as reações do utilizador durante a participação numa reunião.
extensions
Opcional – Objeto
A extensions
propriedade especifica suplementos do Outlook num manifesto de aplicação e simplifica a distribuição e aquisição no ecossistema do Microsoft 365. Cada aplicação suporta apenas uma extensão.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
requirements |
Objeto | Especifica o conjunto de requisitos de cliente ou anfitrião para a extensão. | ||
runtimes |
Matriz | 20 | Configura o conjunto de runtimes e ações que podem ser utilizados por cada ponto de extensão. Para obter mais informações, consulte runtimes nos Suplementos do Office. | |
ribbons |
Matriz | 20 | Define o ponto de extensão dos frisos. | |
autoRunEvents |
Matriz | 10 | Define o ponto de extensão de ativação baseado em eventos. | |
alternates |
Matriz | 10 | Especifica a relação para alternar soluções existentes do Microsoft 365. É utilizado para ocultar ou atribuir prioridades a suplementos do mesmo fabricante com funcionalidades sobrepostas. | |
audienceClaimUrl |
Cadeia de caracteres | 2048 caracteres | Especifica o URL da extensão e é utilizado para validar os tokens de identidade de utilizador do Exchange. Para obter mais informações, veja dentro do token de identidade do Exchange |
Para obter mais informações, consulte o manifesto de Suplementos do Office para o Microsoft 365.
extensions.requirements
O extensions.requirements
objeto especifica os âmbitos, os fatores de formulário e os conjuntos de requisitos da Biblioteca JavaScript do Office que têm de ser suportados no cliente do Office para que o suplemento seja instalado. Os requisitos também são suportados nas propriedades subordinadas "ribbon", "runtime", "alternates" e "autoRunEvents" para filtrar seletivamente algumas funcionalidades do suplemento. Para obter mais informações, consulte Especificar os requisitos do Suplemento do Office no manifesto unificado do Microsoft 365.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
capabilities |
Matriz | 100 | Identifica os conjuntos de requisitos. | |
capabilities.name |
Cadeia de caracteres | ✔️ | Identifica o nome do conjunto de requisitos. | |
capabilities.minVersion |
Cadeia de caracteres | Identifica a versão mínima do conjunto de requisitos. | ||
capabilities.maxVersion |
Cadeia de caracteres | Identifica a versão máxima do conjunto de requisitos. | ||
scopes |
Matriz de enumerações | 1 | Identifica os âmbitos nos quais o suplemento pode ser executado e define as aplicações do Microsoft 365 nas quais a extensão pode ser executada. Por exemplo, mail (Outlook). Valor suportado: mail |
|
formFactors |
Matriz de enumerações | Identifica os fatores de formulário que suportam o suplemento. Valores suportados: mobile , desktop |
extensions.runtimes
Opcional – Matriz
A extensions.runtimes
matriz configura os conjuntos de runtimes e ações que cada ponto de extensão pode utilizar.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
id |
String | 64 caracteres | ✔️ | Especifica o ID do runtime. |
type |
Enumeração de cadeias | ✔️ | Especifica o tipo de runtime. O valor de enumeração suportado para o runtime baseado no browser é general . |
|
code |
Objeto | ✔️ | Especifica a localização do código para o runtime. Com base no runtime.type , os suplementos podem utilizar um ficheiro JavaScript ou uma página HTML com uma etiqueta incorporada script que especifica o URL de um ficheiro JavaScript. Ambos os URLs são necessários em situações em que o runtime.type é incerto. |
|
code.page |
Cadeia de caracteres | 2048 caracteres | ✔️ | Especifica o URL da página Web que contém uma etiqueta incorporada script , que especifica o URL de um ficheiro JavaScript (a carregar num runtime baseado no browser). |
code.script |
Cadeia de caracteres | 2048 caracteres | Especifica o URL do ficheiro JavaScript a carregar no runtime apenas javaScript. | |
lifetime |
Enumeração de cadeias | Especifica a duração do runtime. Os runtimes com uma short duração não preservam o estado entre execuções enquanto os runtimes com uma long duração o fazem. Para obter mais informações, consulte Runtimes nos Suplementos do Office.Valor predefinido: short |
||
actions |
Matriz | 20 | Especifica o conjunto de ações suportadas pelo runtime. Uma ação está a executar uma função JavaScript ou a abrir uma vista, como um painel de tarefas. | |
actions.id |
String | 64 caracteres | ✔️ | Especifica o ID da ação, que é transmitido para o ficheiro de código. |
actions.type |
Cadeia de caracteres | ✔️ | Especifica o tipo de ação. O executeFunction tipo executa uma função JavaScript sem aguardar que seja concluída e o openPage tipo abre uma página numa determinada vista. |
|
actions.displayName |
String | 64 caracteres | Especifica o nome a apresentar da ação e não é a etiqueta de um botão ou item de menu que invoca a ação (que está configurada com tabs.groups.controls.label ). |
|
actions.pinnable |
Booliano | Especifica se um painel de tarefas tem suporte para fixação, que mantém o painel de tarefas aberto quando o usuário altera a seleção. Valor predefinido: false |
||
actions.view |
String | 64 caracteres | Especifica a vista onde a página tem de ser aberta. É utilizado apenas quando actions.type é openPage . |
|
actions.multiselect |
Booliano | Especifica se o utilizador final pode selecionar vários itens, como múltiplas mensagens de e-mail, e aplicar a ação a todos eles. Valor predefinido: false |
||
actions.supportsNoItemContext |
Booliano | Permite que os suplementos do painel de tarefas ativem sem o painel de leitura ativado ou uma mensagem selecionada. Valor predefinido: false |
||
requirements |
Objeto | Especifica os âmbitos, o formulárioFactores e os conjuntos de requisitos da Biblioteca JavaScript do Office que têm de ser suportados no cliente do Office para que o runtime seja incluído no suplemento. Para obter mais informações, consulte Especificar os requisitos do Suplemento do Office no manifesto unificado do Microsoft 365. | ||
requirements.capabilities |
Matriz | Identifica os conjuntos de requisitos. Opções: name (obrigatório), minVersion , maxVersion |
||
requirements.capabilities.name |
Cadeia de caracteres | ✔️ | Identifica o nome do conjunto de requisitos. | |
requirements.capabilities.minVersion |
Cadeia de caracteres | Identifica a versão mínima do conjunto de requisitos. | ||
requirements.capabilities.maxVersion |
Cadeia de caracteres | Identifica a versão máxima do conjunto de requisitos. | ||
requirements.scopes |
Matriz de enumerações | 1 | Identifica os âmbitos nos quais o suplemento pode ser executado e define as aplicações do Microsoft 365 nas quais a extensão pode ser executada. Por exemplo, mail (Outlook). Valor suportado: mail |
|
requirements.formFactors |
Matriz de enumerações | Identifica os fatores de formulário que suportam o suplemento. Valores suportados: mobile , desktop |
Para utilizar extensions.runtimes
o , veja criar comandos de suplementos, configurar o runtime para um painel de tarefas e configurar o runtime para o comando da função.
extensions.ribbons
Opcional – Matriz
A extensions.ribbons
propriedade fornece a capacidade de adicionar comandos de suplemento ( botões e itens de menu) ao friso da aplicação do Microsoft 365. A definição do friso é selecionada na matriz com base nos requisitos e na ordem inicial.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
contexts |
Matriz | 7 | Especifica a janela da aplicação do Microsoft 365 na qual a personalização do friso está disponível para o utilizador. Cada item na matriz é um membro de uma matriz de cadeia. Valores suportados: mailRead , , mailCompose , meetingDetailsOrganizer , meetingDetailsAttendee , onlineMeetingDetailsOrganizer , , , logEventMeetingDetailsAttendee default |
|
requirements |
Objeto | Especifica os âmbitos, o formulárioFactores e os conjuntos de requisitos da Biblioteca JavaScript do Office que têm de ser suportados no cliente do Office para que a personalização do friso seja apresentada. Para obter mais informações, consulte Especificar os requisitos do Suplemento do Office no manifesto unificado do Microsoft 365. | ||
requirements.capabilities |
Matriz | Identifica os conjuntos de requisitos. Opções: name (obrigatório), minVersion , maxVersion |
||
requirements.capabilities.name |
Cadeia de caracteres | ✔️ | Identifica o nome do conjunto de requisitos. | |
requirements.capabilities.minVersion |
Cadeia de caracteres | Identifica a versão mínima do conjunto de requisitos. | ||
requirements.capabilities.maxVersion |
Cadeia de caracteres | Identifica a versão máxima do conjunto de requisitos. | ||
requirements.scopes |
Matriz de enumerações | 1 | Identifica os âmbitos nos quais o suplemento pode ser executado e define as aplicações do Microsoft 365 nas quais a extensão pode ser executada. Por exemplo, mail (Outlook). Valor suportado: mail |
|
requirements.formFactors |
Matriz de enumerações | Identifica os fatores de formulário que suportam o suplemento. Valores suportados: mobile , desktop |
||
tabs |
Matriz | 20 | ✔️ | Configura os separadores personalizados no friso da aplicação Microsoft 365. |
tabs.id |
String | 64 caracteres | Especifica o ID do separador na aplicação. | |
tabs.builtinTabId |
String | 64 caracteres | Especifica o ID de um separador incorporado do friso do Office. Os valores possíveis variam consoante a aplicação anfitriã do Office. Os suplementos do Outlook só são suportados e o valor permitido para o Outlook é "TabDefault". O separador predefinido depende de onde o suplemento do Outlook é apresentado, conforme determinado na propriedade "extensions.ribbons.contexts". Na janela principal do Outlook, é o separador Base , numa janela de mensagem, é o separador Mensagem e, numa janela de reunião, é o separador Reunião . | |
tabs.label |
String | 64 caracteres | Especifica o texto apresentado para o separador. Apesar do comprimento máximo de 64 carateres, para alinhar corretamente o separador no friso, recomendamos que limite a etiqueta a 16 carateres. | |
tabs.position |
Objeto | Configura a posição do separador personalizado em relação a outros separadores no friso. | ||
tabs.position.builtinTabId |
String | 64 caracteres | ✔️ | Especifica o ID do separador incorporado ao qual o separador personalizado deve ser posicionado junto a. Para obter mais informações, veja Localizar os IDs de controlos e grupos de controlo. |
tabs.position.align |
Enumeração de cadeias | ✔️ | Define o alinhamento do separador personalizado em relação ao separador incorporado especificado. Valores suportados: after , before |
|
tabs.groups |
Matriz | 10 | Define grupos de controlos num separador do friso num dispositivo não móvel. Para dispositivos móveis, consulte tabs.customMobileRibbonGroups . |
|
tabs.groups.id |
String | 64 caracteres | Especifica o ID do grupo de separadores na aplicação. Tem de ser diferente de qualquer ID de grupo incorporado na aplicação do Microsoft 365 e de qualquer outro grupo personalizado. | |
tabs.groups.label |
String | 64 caracteres | Especifica o texto apresentado para o grupo. Apesar do comprimento máximo de 64 carateres, para alinhar corretamente o separador no friso, recomendamos que limite a etiqueta a 16 carateres. | |
tabs.groups.icons |
Matriz | 3 | Especifica os ícones apresentados para o grupo. | |
tabs.groups.icons.size |
Número | ✔️ | Especifica o tamanho do ícone em píxeis, enumerado como 16 ,20 ,24 ,32 ,40 ,48 ,,80 64 .. Tamanhos de imagem necessários: 16 , , 32 80 . |
|
tabs.groups.icons.url |
Cadeia de caracteres | 2048 caracteres | ✔️ | Especifica o URL absoluto do ícone. |
tabs.groups.controls |
Matriz | Configura os botões e menus no grupo. | ||
tabs.groups.controls.id |
String | 64 caracteres | ✔️ | Especifica o ID do controlo na aplicação. Tem de ser diferente de qualquer ID de controlo incorporado na aplicação do Microsoft 365 e de qualquer outro controlo personalizado. |
tabs.groups.controls.items |
Matriz | Configura os itens para um controlo de menu. | ||
tabs.groups.controls.items.id |
Cadeia de caracteres | ✔️ | Especifica o ID dos itens na aplicação. | |
tabs.groups.controls.items.type |
Enumeração de cadeias | ✔️ | Define o tipo de itens de controlo. Valores suportados: menu , button |
|
tabs.groups.controls.items.label |
String | 64 caracteres | ✔️ | Especifica o texto apresentado para os itens. |
tabs.groups.controls.items.icons |
Matriz | Configura os ícones do item personalizado. | ||
tabs.groups.controls.items.icons.size |
Número | ✔️ | Especifica o tamanho do ícone em píxeis, enumerado como 16 ,20 ,24 ,32 ,40 ,48 ,,80 64 .. Tamanhos de imagem necessários: 16 , , 32 80 . |
|
tabs.groups.controls.items.icons.url |
Cadeia de caracteres | 2048 caracteres | ✔️ | Especifica o URL absoluto do ícone. |
tabs.groups.controls.items.supertip |
✔️ | Configura uma supertipa para o item personalizado. Uma supertipa é uma funcionalidade de IU que apresenta uma breve caixa de informações de ajuda sobre um controlo quando o cursor paira sobre o mesmo. A caixa pode conter múltiplas linhas de texto. | ||
tabs.groups.controls.items.supertip.title |
String | 64 caracteres | ✔️ | Especifica o texto de título da sobretipa. |
tabs.groups.controls.items.supertip.description |
Cadeia de caracteres | 250 carateres | ✔️ | Especifica a descrição da sobretipa. |
tabs.groups.controls.items.actionId |
String | 64 caracteres | ✔️ | Especifica o ID da ação que é efetuada quando um utilizador seleciona o controlo ou item de menu. O actionId tem de corresponder a runtime.actions.id . |
tabs.groups.controls.items.enabled |
Booliano | Indica se o controlo está inicialmente ativado. Valor predefinido: true |
||
tabs.groups.controls.items.overriddenByRibbonApi |
Booliano | Especifica se um grupo, botão, menu ou item de menu oculto nas combinações de aplicações e plataformas, que suportam a API (Office.ribbon.requestCreateControls) que instala separadores contextuais personalizados no friso. Valor predefinido: false |
||
tabs.groups.controls.type |
Cadeia de caracteres | ✔️ | Define o tipo de controlo. Valores suportados: button , menu |
|
tabs.groups.controls.builtinControlId |
String | 64 caracteres | ✔️ | Especifica o ID de um controlo existente do Microsoft 365. Para obter mais informações, veja Localizar os IDs de controlos e grupos de controlo. |
tabs.groups.controls.label |
String | 64 caracteres | ✔️ | Especifica o texto apresentado para o controlo. Apesar do comprimento máximo de 64 carateres, para alinhar corretamente o separador no friso, recomendamos que limite a etiqueta a 16 carateres. |
tabs.groups.controls.icons |
Matriz | ✔️ | Define os ícones do controlo. Tem de haver, pelo menos, três objetos subordinados; cada um com size propriedades de 16 , 32 e 80 píxeis. |
|
tabs.groups.controls.icons.size |
Número | ✔️ | Especifica o tamanho do ícone em píxeis, enumerado como 16 ,20 ,24 ,32 ,40 ,48 ,,80 64 .. Tamanho de imagem necessário: 16 , , 32 80 |
|
tabs.groups.controls.icons.url |
Cadeia de caracteres | 2048 caracteres | Especifica o URL absoluto para o ícone. | |
tabs.groups.controls.supertip |
Objeto | ✔️ | Configura uma supertipa para o controlo. | |
tabs.groups.controls.supertip.title |
String | 64 caracteres | ✔️ | Especifica o texto de título da sobretipa. |
tabs.groups.controls.supertip.description |
Cadeia de caracteres | 128 caracteres | ✔️ | Especifica a descrição da sobretipa. |
tabs.groups.controls.actionId |
String | 64 caracteres | Necessário se o tipo de controlo for button . Não utilize se o tipo de controlo for menu . Especifica o ID da ação que é efetuada quando um utilizador seleciona o controlo. O actionId tem de corresponder à runtime.actions.id propriedade de uma ação no runtimes objeto. |
|
tabs.groups.controls.enabled |
Booliano | Indica se o controlo está inicialmente ativado. Valor predefinido: true |
||
tabs.groups.controls.overriddenByRibbonApi |
Booliano | Especifica se um grupo, botão, menu ou item de menu está oculto nas combinações de aplicações e plataformas, que suportam a API (Office.ribbon.requestCreateControls) que instala separadores contextuais personalizados no friso. Valor predefinido: false |
||
tabs.groups.builtinGroupId |
String | 64 caracteres | Especifica o ID de um grupo incorporado. Para obter mais informações, veja Localizar os IDs de controlos e grupos de controlo. | |
tabs.customMobileRibbonGroups |
Matriz | 10 | Define grupos de controlos no separador predefinido do friso num dispositivo móvel. Esta propriedade de matriz só pode estar presente em objetos de separador que tenham uma tabs.builtinTabId propriedade definida como "DefaultTab". Para dispositivos não móveis, consulte tabs.groups . |
|
tabs.customMobileRibbonGroups.id |
Cadeia de caracteres | 250 carateres | ✔️ | Especifica o ID do grupo. Tem de ser diferente de qualquer ID de grupo incorporado na aplicação do Microsoft 365 e de qualquer outro grupo personalizado. |
tabs.customMobileRibbonGroups.label |
Cadeia de caracteres | 32 caracteres | ✔️ | Especifica a etiqueta no grupo. |
tabs.customMobileRibbonGroups.controls |
Matriz | 20 | ✔️ | Define os controlos no grupo. Apenas os botões móveis são suportados. |
tabs.customMobileRibbonGroups.controls.id |
Cadeia de caracteres | 250 carateres | ✔️ | Especifica o ID do controlo, como msgReadFunctionButton . |
tabs.customMobileRibbonGroups.controls.type |
Enumeração de cadeias | ✔️ | Especifica o tipo de controlo. Valor suportado: MobileButton |
|
tabs.customMobileRibbonGroups.controls.label |
Cadeia de caracteres | 32 caracteres | ✔️ | Especifica a etiqueta no controlo. |
tabs.customMobileRibbonGroups.controls.actionId |
String | 64 caracteres | ✔️ | Especifica o ID da ação que é efetuada quando um utilizador seleciona o controlo. O actionId tem de corresponder à runtime.actions.id propriedade de uma ação no runtimes objeto. |
tabs.customMobileRibbonGroups.controls.icons |
Matriz | 9 | ✔️ | Especifica os ícones que aparecem no controlo consoante as dimensões e o DPI do ecrã do dispositivo móvel. Tem de haver exatamente 9 ícones. |
tabs.customMobileRibbonGroups.controls.icons.size |
Enumeração de números | ✔️ | Tamanho em píxeis do ícone. Os tamanhos necessários são 25, 32 e 48. Tem de existir exatamente um de cada tamanho para cada valor possível da propriedade dos scale ícones. |
|
tabs.customMobileRibbonGroups.controls.icons.url |
Cadeia de caracteres | 2048 caracteres | ✔️ | O URL completo e absoluto do ficheiro de imagem do ícone. |
tabs.customMobileRibbonGroups.controls.icons.scale |
Enumeração de números | ✔️ | Especifica a propriedade UIScreen.scale para dispositivos iOS. Os valores possíveis são 1, 2 e 3. Tem de existir exatamente um de cada valor para cada valor possível da propriedade dos size ícones. |
Para utilizar extensions.ribbons
o , veja criar comandos de suplemento,configurar a IU para o comando do painel de tarefas e configurar a IU para o comando de função.
extensions.autoRunEvents
Opcional – Matriz
A extensions.autoRunEvents
propriedade define pontos de extensão de ativação baseados em eventos.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
events |
Matriz | 20 | ✔️ | Configura o evento que faz com que as ações num Suplemento do Outlook são executadas automaticamente. Por exemplo, veja Utilizar alertas inteligentes e os OnMessageSend eventos e OnAppointmentSend nos seus Suplementos do Outlook. |
events.type |
String | 64 caracteres | ✔️ | Especifica o tipo de evento. Para tipos suportados, veja eventos suportados. |
events.actionId |
String | 64 caracteres | ✔️ | Identifica a ação que é efetuada quando o evento é acionado. O actionId tem de corresponder a runtime.actions.id . |
events.options |
Objeto | Configura a forma como o Outlook responde ao evento. | ||
events.options.sendMode |
Cadeia de caracteres | ✔️ | Especifica as ações a efetuar durante uma ação de envio de correio. Valores suportados: promptUser , , block softBlock . Para obter mais informações, veja opções de modo de envio disponíveis. |
|
requirements |
Objeto | Especifica os âmbitos, formFactors e conjuntos de requisitos da Biblioteca JavaScript do Office que têm de ser suportados no cliente do Office para que o código de processamento de eventos seja executado. Para obter mais informações, consulte Especificar os requisitos do Suplemento do Office no manifesto unificado do Microsoft 365. | ||
requirements.capabilities |
Matriz | Identifica os conjuntos de requisitos. Opções: name (obrigatório), minVersion , maxVersion |
||
requirements.capabilities.name |
Cadeia de caracteres | ✔️ | Identifica o nome do conjunto de requisitos. | |
requirements.capabilities.minVersion |
Cadeia de caracteres | Identifica a versão mínima do conjunto de requisitos. | ||
requirements.capabilities.maxVersion |
Cadeia de caracteres | Identifica a versão máxima do conjunto de requisitos. | ||
requirements.scopes |
Matriz de enumerações | 1 | Identifica os âmbitos nos quais o suplemento pode ser executado e define as aplicações do Microsoft 365 nas quais a extensão pode ser executada. Por exemplo, mail (Outlook). Valor suportado: mail |
|
requirements.formFactors |
Matriz de enumerações | Identifica os fatores de formulário que suportam o suplemento. Valores suportados: mobile , desktop |
extensions.alternates
Opcional – Matriz
A extensions.alternates
propriedade é utilizada para ocultar ou atribuir prioridades a suplementos específicos no mercado quando tiver publicado vários suplementos com funcionalidades sobrepostas.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
prefer |
Objeto | Especifica a retrocompatibilidade com um suplemento COM equivalente, suplemento XLL ou ambos. | ||
prefer.comAddin |
Objeto | Especifica um suplemento COM que tem de ser utilizado em vez do Suplemento Web do Microsoft 365 para Windows. | ||
prefer.comAddin.progId |
String | 64 caracteres | ✔️ | Identifica o tipo de aplicação no qual a extensão pode ser executada. |
hide |
Objeto | Configura como ocultar outro suplemento que publicou sempre que o suplemento está instalado, para que os utilizadores não vejam ambos na IU do Microsoft 365. Por exemplo, utilize esta propriedade quando tiver publicado anteriormente um suplemento que utilize o manifesto da aplicação XML antigo e estiver a substituí-lo por uma versão que utilize o novo manifesto da aplicação JSON. | ||
hide.storeOfficeAddin |
Objeto | Especifica um Suplemento do Microsoft 365 disponível no Microsoft AppSource. | ||
hide.storeOfficeAddin.officeAddinId |
String | 64 caracteres | ✔️ | Especifica o ID do suplemento no mercado a ocultar. O GUID é retirado da propriedade do manifesto id da aplicação se o suplemento no mercado utilizar o manifesto da aplicação JSON. O GUID é retirado do <Id> elemento se o suplemento no mercado utilizar o manifesto da aplicação XML. |
hide.storeOfficeAddin.assetId |
String | 64 caracteres | ✔️ | Especifica o ID do recurso do AppSource do suplemento no mercado para ocultar. |
hide.customOfficeAddin |
Objeto | Configura como ocultar um suplemento no mercado que não é distribuído através do AppSource. | ||
hide.customOfficeAddin.officeAddinId |
String | 64 caracteres | ✔️ | Especifica o ID do suplemento no mercado a ocultar. O GUID é retirado da propriedade do manifesto id da aplicação se o suplemento no mercado utilizar o manifesto da aplicação JSON. O GUID é retirado do <Id> elemento se o suplemento no mercado utilizar o manifesto da aplicação XML. |
requirements |
Objeto | Especifica os âmbitos, formFactors e conjuntos de requisitos da Biblioteca JavaScript do Office que têm de ser suportados no cliente do Office para que as propriedades "ocultar", "preferir" ou "alternateIcons" entrem em vigor. Para obter mais informações, consulte Especificar os requisitos do Suplemento do Office no manifesto unificado do Microsoft 365. | ||
requirements.capabilities |
Matriz | Identifica os conjuntos de requisitos. Opções: name (obrigatório), minVersion , maxVersion |
||
requirements.capabilities.name |
Cadeia de caracteres | ✔️ | Identifica o nome do conjunto de requisitos. | |
requirements.capabilities.minVersion |
Cadeia de caracteres | Identifica a versão mínima do conjunto de requisitos. | ||
requirements.capabilities.maxVersion |
Cadeia de caracteres | Identifica a versão máxima do conjunto de requisitos. | ||
requirements.scopes |
Matriz de enumerações | 1 | Identifica os âmbitos nos quais o suplemento pode ser executado e define as aplicações do Microsoft 365 nas quais a extensão pode ser executada. Por exemplo, mail (Outlook). Valor suportado: mail |
|
requirements.formFactors |
Matriz de enumerações | Identifica os fatores de formulário que suportam o suplemento. Valores suportados: mobile , desktop |
||
alternateIcons |
Objeto | Especifica os ícones principais que são utilizados para representar o suplemento em versões mais antigas do Office. Esta propriedade é necessária se o suplemento do Office for instalável no Office para Mac, licenças perpétuas do Office e versões de subscrição do Microsoft 365 do Office no Windows anteriores à 2304 (Compilação 16320.00000). | ||
alternateIcons.icon |
Objeto | ✔️ | Especifica as propriedades do ficheiro de imagem utilizado para representar o suplemento. | |
alternateIcons.icon.size |
Enumeração de números | ✔️ | Especifica o tamanho do ícone em píxeis, enumerado como 16 ,20 ,24 ,32 ,40 ,48 ,,80 64 .. Tamanhos de imagem necessários: 16 , , 32 80 . |
|
alternateIcons.icon.url |
Cadeia de caracteres | 2048 caracteres | ✔️ | Especifica o URL absoluto completo do ficheiro de imagem que é utilizado para representar o suplemento. A imagem do ícone tem de ter 64 x 64 píxeis e utilizar um dos seguintes formatos de ficheiro: GIF, JPG, PNG, EXIF, BMP, TIFF. |
alternateIcons.highResolutionIcon |
Objeto | ✔️ | Especifica as propriedades do ficheiro de imagem utilizado para representar o suplemento em ecrãs de PPP elevados. | |
alternateIcons.highResolutionIcon.size |
Enumeração de números | ✔️ | Especifica o tamanho do ícone em píxeis, enumerado como 16 ,20 ,24 ,32 ,40 ,48 ,,80 64 .. Tamanhos de imagem necessários: 16 , , 32 80 . |
|
alternateIcons.highResolutionIcon.url |
Cadeia de caracteres | 2048 caracteres | ✔️ | Especifica o URL completo e absoluto do ficheiro de imagem que é utilizado para representar o suplemento em ecrãs de PPP elevados. A imagem do ícone tem de ter 128 x 128 píxeis e utilizar um dos seguintes formatos de ficheiro: GIF, JPG, PNG, EXIF, BMP, TIFF. |
dashboardCards
Opcional – Matriz
Define uma lista de cartões que podem ser afixados a um dashboard, como o Microsoft Viva Connections, para fornecer uma vista resumida das informações da aplicação. Para saber mais sobre como criar cartões para o Dashboard de Ligações Viva, veja Descrição geral das Extensões de Cartão Adaptável Com Tecnologia de Bot.
Este item é uma matriz de dashboardCard
elementos do tipo object
.
dashboardCards.dashboardCard
Define um único cartão de dashboard e as respetivas propriedades.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
id |
Cadeia de caracteres | ✔️ | Um identificador exclusivo para este cartão de dashboard. O ID tem de ser um GUID. | |
displayName |
Cadeia de caracteres | 255 caracteres | ✔️ | Nome a apresentar do cartão. |
description |
Cadeia de caracteres | 255 caracteres | ✔️ | Descrição do cartão. |
pickerGroupId |
Cadeia de caracteres | ✔️ | ID do grupo no seletor de cartões. O ID tem de ser um GUID. | |
icon |
Objeto | Especifica o ícone do cartão. | ||
contentSource |
Objeto | ✔️ | Especifica a origem do conteúdo do cartão | |
defaultSize |
Cadeia de caracteres | ✔️ | Tamanho da composição do cartão do dashboard. Opções: medium ou large . |
dashboardCards.dashboardCard.icon
Define as propriedades do ícone de um determinado cartão de dashboard.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
iconUrl |
Cadeia de caracteres | 2048 caracteres | Localização do ícone do cartão, a apresentar na caixa de ferramentas e na barra de cartões. | |
officeUIFabricIconName |
Cadeia de caracteres | 255 caracteres | Nome amigável dos Recursos de Infraestrutura de IU do Office ou fluente do ícone da IU para o cartão. Este valor é utilizado se iconUrl não for especificado. |
dashboardCards.dashboardCard.contentSource
Define a origem de conteúdo de um determinado cartão de dashboard.
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
sourceType |
Cadeia de caracteres | Representa a origem do conteúdo de um cartão. Opção: bot . |
||
botConfiguration |
Objeto | A configuração da origem do bot. Necessário se estiver sourceType definido como bot . |
dashboardCards.dashboardCard.contentSource.botConfiguration
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
botId |
Cadeia de caracteres | O ID exclusivo do aplicativo Microsoft para o bot conforme registrado na estrutura do bot. O ID tem de ser um GUID. |
Criar um ficheiro de manifesto de aplicação
Se a sua aplicação não tiver um ficheiro de manifesto de aplicação, terá de criá-lo.
Para criar um ficheiro de manifesto de aplicação:
- Utilize o esquema de manifesto da aplicação de exemplo para criar um ficheiro de .json.
- Salve-o na raiz da pasta do seu projeto como
manifest.json
.
Eis um exemplo do esquema de manifesto da aplicação para uma aplicação de separador com o SSO ativado:
Observação
O conteúdo de exemplo de manifesto de aplicação apresentado aqui destina-se apenas a uma aplicação de separador. Utiliza valores de exemplo para URI de subdomínio. Para obter mais informações, veja Exemplo de esquema de manifesto de aplicação.
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
"manifestVersion": "1.12",
"version": "1.0.0",
"id": "{new GUID for this Teams app - not the Microsoft Entra App ID}",
"developer": {
"name": "Microsoft",
"websiteUrl": "https://www.microsoft.com",
"privacyUrl": "https://www.microsoft.com/privacy",
"termsOfUseUrl": "https://www.microsoft.com/termsofuse"
},
"name": {
"short": "Teams Auth SSO",
"full": "Teams Auth SSO"
},
"description": {
"short": "Teams Auth SSO app",
"full": "The Teams Auth SSO app"
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#60A18E",
"staticTabs": [
{
"entityId": "auth",
"name": "Auth",
"contentUrl": "https://subdomain.example.com/Home/Index",
"scopes": [ "personal" ]
}
],
"configurableTabs": [
{
"configurationUrl": "https://subdomain.example.com/Home/Configure",
"canUpdateConfiguration": true,
"scopes": [
"team"
]
}
],
"permissions": [ "identity", "messageTeamMembers" ],
"validDomains": [
"{subdomain or ngrok url}"
],
"webApplicationInfo": {
"id": "{Microsoft Entra AppId}",
"resource": "api://subdomain.example.com/{Microsoft Entra AppId}"
}
}