Biblioteca de clientes JavaScript do Teams

A biblioteca de clientes JavaScript do Microsoft Teams (TeamsJS) pode ajudá-lo a criar experiências hospedadas no Teams, aplicativo Microsoft 365 e Outlook, onde o conteúdo do aplicativo está hospedado em um iFrame. A biblioteca é útil para desenvolver aplicativos com os seguintes recursos do Teams:

A partir da versão 2.0.0, a biblioteca do TeamsJS existente (@microsoft/teams-jsou simplesmente TeamsJS) foi refatorada para permitir que os aplicativos do Teams sejam executados no Outlook e no aplicativo Microsoft 365, além do Microsoft Teams. De uma perspectiva funcional, a versão mais recente do TeamsJS dá suporte a todas as funcionalidades de aplicativo do Teams existentes (v.1.x.x), ao mesmo tempo em que adiciona a capacidade opcional de hospedar aplicativos do Teams no Outlook e no aplicativo Microsoft 365.

Aqui estão as diretrizes de controle de versão atuais para vários cenários de aplicativo:

Versão do TeamsJS Versão do Manifesto do aplicativo Próximas etapas
Aplicativos do Teams estendidos ao Microsoft 365 / Outlook TeamsJS v.2.0 ou posterior 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 Atualizar para o TeamsJS v.2.0 quando possível (a v.1.12 ainda tem suporte*) 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.0 ou posterior 1.12 Criar um novo aplicativo Teams usando o Kit de Ferramentas do Teams

*Use o TeamsJS mais recente (v.2.0 ou posterior) sempre que possível, a fim de aproveitar as melhorias mais recentes e o suporte a novos recursos, incluindo aplicativos somente do Teams. TeamsJS v.1.12 continuam com suporte, no entanto, nenhum novo recurso ou melhorias será adicionado. Os esquemas 1.12 e 1.13 são os mesmos. Para obter mais informações, confira Biblioteca do TeamsJS.

O restante deste artigo ajudará você a percorrer a estrutura e as atualizações mais recentes para a biblioteca do TeamsJS.

Suporte ao Microsoft 365 (executando aplicativos do Teams no Microsoft 365 e Outlook)

O TeamsJS v.2.0 introduz a capacidade de determinados tipos de aplicativos do Teams serem executados em todo o ecossistema do Microsoft 365. Atualmente, outros hosts de aplicativos do Microsoft 365 (incluindo o aplicativo Microsoft 365 e o Outlook) para aplicativos do Teams dão suporte a um subconjunto dos tipos de aplicativo e recursos que você pode criar para a plataforma do Teams. Esse suporte se expandirá ao longo do tempo. Para obter um resumo do suporte de host para aplicativos do Teams, consulte Estender aplicativos do Teams no Microsoft 365.

A tabela a seguir lista as guias e os recursos de diálogos do Teams (módulos de tarefa) (namespaces públicos) com suporte expandido para execução em outros hosts do Microsoft 365.

Dica

Você pode verificar o suporte de host de uma determinada funcionalidade em runtime chamando a função isSupported() nessa funcionalidade (namespace).

Recursos Suporte do host Observações
aplicativo Teams, Outlook, Microsoft 365, aplicativo Microsoft 365 para Android Namespace que representa a inicialização e o ciclo de vida do aplicativo.
appInitialization Depreciado. Substituído pelo namespace app.
appInstallDialog Teams, Microsoft 365
autenticação Teams, Outlook, Microsoft 365, aplicativo Microsoft 365 para Android
calendar Outlook (somente área de trabalho do Windows)
call Teams
chat Teams
caixa de diálogo Teams, Outlook, Microsoft 365 Namespace que representa diálogos (anteriormente denominados módulos de tarefas. Consulte as anotações Caixas de Diálogo.
Geolocalização
localização Teams Consulte as anotações em Permissões do aplicativo.
email Outlook (somente área de trabalho do Windows)
mídia Teams Consulte as anotações em Permissões do aplicativo.
Menus Teams
Monetização Teams
páginas Teams, Outlook, Microsoft 365, aplicativo Microsoft 365 para Android Namespace que representa a navegação de página. Consulte as anotações em Vinculação profunda.
people Teams
perfil
search
compartilhamento Teams
settings Depreciado. Substituído por pages.config.
stageView Teams
tarefas Depreciado. Substituído pela funcionalidade dialog. Consulte as anotações em Caixas de Diálogo.
teamsCore Teams Namespace que contém a funcionalidade específica do Teams.
video Teams
WebStorage Teams

Permissões de aplicativos

Os recursos do aplicativo que exigem que o usuário conceda permissões de dispositivo (como localização) ainda não têm suporte para aplicativos em execução fora do Teams. No momento, não há como verificar permissões de aplicativo em Configurações ou no cabeçalho do aplicativo ao executar no Outlook ou no aplicativo Microsoft 365. Se um aplicativo do Teams em execução no aplicativo Microsoft 365 ou outlook chamar uma API do TeamsJS (ou HTML5) que dispara permissões de dispositivo, essa API gerará um erro e não exibirá uma caixa de diálogo do sistema solicitando o consentimento do usuário.

Por enquanto, as diretrizes atuais são modificar seu código para detectar a falha:

  • Verifique isSupported() em um recurso antes de usá-lo. media, meetinge files ainda não dá suporte a chamadas com suporte para isSupported e ainda não funcionam fora do Teams.
  • Capture e manipule erros ao chamar APIs TeamsJS e HTML5.

Quando uma API não tem suporte ou gera um erro, adiciona lógica para falhar normalmente ou fornece uma solução alternativa. Por exemplo:

  • Direcione o usuário para o site do seu aplicativo.
  • Direcione o usuário a usar o aplicativo no Teams para concluir o fluxo.
  • Notifique o usuário de que a funcionalidade ainda não está disponível.

Além disso, a prática recomendada é garantir que o manifesto do aplicativo especifique apenas as permissões de dispositivo que ele está usando.

Link profundo

Antes do TeamsJS versão 2.0, todos os cenários de vinculação profunda eram tratados usando o shareDeepLink (para gerar um link para uma parte específica do seu aplicativo) e executeDeepLink (para navegar até um deeplink de ou dentro do seu aplicativo). O TeamsJS v.2.0 apresenta uma nova API, navigateToApp, para navegar até páginas (e subpages) em um aplicativo de forma consistente entre hosts de aplicativos (aplicativo Microsoft 365 e Outlook, além do Teams). Aqui estão as diretrizes atualizadas para cenários de vinculação profunda:

Use pages.shareDeepLink (conhecido como shareDeepLink antes do TeamsJS v.2.0) para gerar e exibir um link copiável para o usuário compartilhar. Quando clicado, um usuário será solicitado a instalar o aplicativo se ele ainda não estiver instalado para o host do aplicativo (especificado no caminho do link).

Use o novo pages.currentApp namespace para navegar dentro do aplicativo no aplicativo de hospedagem. Especificamente, a função navigateTo(NavigateWithinAppParams) para permitir a navegação para uma guia específica dentro do aplicativo atual e a função navigateToDefaultPage() para navegar até a primeira guia definida no manifesto do aplicativo. Para obter mais informações, consulte Navegar em um aplicativo de guias.

Essas APIs fornecem o equivalente a navegar até um link profundo (como o executeDeepLink agora preterido já foi usado) sem exigir que seu aplicativo construa uma URL ou gerencie diferentes formatos de link profundo para diferentes hosts de aplicativo.

Para links profundos do aplicativo para várias áreas do host atual, use as APIs fortemente tipada fornecidas pela biblioteca do TeamsJS. Por exemplo, use a funcionalidade Calendário para abrir uma caixa de diálogo de agendamento ou item de calendário do seu aplicativo.

Para links profundos do seu aplicativo para outros aplicativos em execução no mesmo host, use pages.navigateToApp.

Para qualquer outro cenário de vinculação profunda externa, você pode usar o app.openLink, que fornece funcionalidade semelhante à agora preterida (começando no TeamsJS v.2.0) API executeDeepLink.

Caixas de Diálogo

A partir da versão 2.0 do TeamsJS, o conceito de módulo de tarefa da plataforma do Teams foi renomeado Caixa de diálogo para melhor consistência com os conceitos existentes em todo o ecossistema dos desenvolvedores do Microsoft 365. Da mesma forma, o namespace tasks foi preterido em favor do novo namespace dialog.

Essa nova funcionalidade de caixa de diálogo é dividida em um recurso principal (dialog) para dar suporte a diálogos baseados em HTML e uma subfuncionalidade, dialog.bot, para desenvolvimento de diálogo baseado em bot.

O recurso de caixa de diálogo ainda não dá suporte a caixas de diálogo de cartão adaptável. Os diálogos baseados em cartão adaptável ainda precisam ser invocados usando tasks.startTask().

A função dialog.open atualmente só funciona para abrir caixas de diálogo baseadas em HTMl, e retorna uma função de retorno de chamada (PostMessageChannel) que você pode usar para passar mensagens (ChildAppWindow.postMessage) para a caixa de diálogo recém-aberta. dialog.open retorna um retorno de chamada (em vez de uma Promessa) porque não requer que a execução do aplicativo pause aguardando o fechamento da caixa de diálogo (fornecendo assim mais flexibilidade para vários padrões de interação do usuário).

Novidades no TeamsJS versão 2.x.x

Há duas alterações significativas entre as versões do TeamsJS 1.x.x e a v.2.0.0 e posterior:

Dica

Você pode usar a extensão Kit de ferramentas do Teams para Microsoft Visual Studio Code para simplificar o TeamsJS v.2.0 para um aplicativo do Teams existente.

Compatibilidade com versões anteriores

Depois de começar a referenciar @microsoft/teams-js@2.0.0 (ou posterior) a partir de um aplicativo existente do Teams, você verá avisos de substituição para todas as APIs de chamada de código que foram alteradas.

Uma camada de tradução de API (mapeamento v.1 para chamadas de API do TeamsJS v.2) é fornecida para permitir que os aplicativos do Teams existentes continuem trabalhando no Teams até que eles possam atualizar o código do aplicativo para usar os padrões de API do TeamsJS v.2.

Aplicativos apenas Teams

Mesmo que você pretenda que seu aplicativo seja executado apenas no Teams (e não no aplicativo Microsoft 365 e no Outlook), a melhor prática é começar a referenciar o TeamsJS mais recente (v.2.0 ou posterior) assim que conveniente, a fim de se beneficiar das melhorias mais recentes, novos recursos e suporte (mesmo para aplicativos somente do Teams). O TeamsJS v.1.12 continuará a ter suporte, mas nenhum novo recurso ou melhoria será adicionado.

Quando você conseguir, a próxima etapa será atualizar o código do aplicativo existente com as alterações descritas neste artigo. Enquanto isso, a camada de conversão de API v.1 a v.2 fornece compatibilidade com versões anteriores, garantindo que seu aplicativo do Teams existente continue funcionando no TeamsJS versão 2.0.

Aplicativos do Teams em execução no Microsoft 365

Habilitar um aplicativo do Teams existente para ser executado no Outlook e no Microsoft 365 requer todos os seguintes procedimentos:

  1. Dependência do TeamsJS versão 2.x.x ( @microsoft/teams-js@2.0.0) ou posterior,

  2. Modificar o código do aplicativo existente de acordo com as alterações necessárias descritas neste documento.

  3. Atualizar o manifesto do aplicativo para a versão 1.13 ou posterior.

Para obter mais informações, consulte Estender aplicativos do Teams no Microsoft 365.

Retornos de chamada convertidos em promessas

APIs do Teams que anteriormente levavam um parâmetro de retorno de chamada foram atualizadas para retornar um objeto JavaScript Promise. Elas incluem as seguintes APIs:

app.getContext, app.initialize, appInstallDialog.openAppInstallDialog, app.openLink, authentication.authenticate, authentication.getAuthToken, authentication.getUser, authentication.registerAuthenticationHandlers was removed to support using Promises, calendar.openCalendarItem, calendar.composeMeeting, call.startCall, chat.getChatMembers, conversations.openConversation, location.getLocation, location.showLocation, mail.openMailItem, mail.composeMail, pages.backStack.navigateBack, pages.navigateCrossDomain, pages.navigateToTab, pages.tabs.getMruTabInstances, pages.tabs.getTabInstances, pages.getConfig, pages.config.setConfig, pages.backStack.navigateBack, people.selectPeople, teams.fullTrust.getConfigSetting, teams.fullTrust.joinedTeams.getUserJoinedTeams

Você precisará atualizar a maneira como seu código chama qualquer uma dessas APIs para usar o Promises. Por exemplo, se o código estiver chamando uma API Teams como esta:

Este código:

import microsoftTeams from "@microsoft/teams-js";

microsoftTeams.getContext((context) => { /* ... */ });

Precisa ser atualizado para:

import { app, Context } from "@microsoft/teams-js";

app.getContext().then((context) => {
    /*...*/
});

... ou o padrão async/await equivalente:

import { app, Context } from "@microsoft/teams-js";

async function example() {
  const context = await app.getContext();
  /*...*/
}

Dica

Quando você usa o Kit de ferramentas do Teams para atualizar para o TeamsJS v.2.0, as atualizações necessárias são sinalizadas para você com TODO comentários no código do cliente.

APIs organizadas em funcionalidades

Uma funcionalidade é um agrupamento lógico de APIs que fornecem funcionalidade semelhante. Você pode pensar no aplicativo Microsoft Teams, Outlook e Microsoft 365, como hosts para seu aplicativo de guias. Um host dá suporte a uma determinada funcionalidade se ele dá suporte a todas as APIs definidas dentro dessa funcionalidade. Um host não pode implementar parcialmente uma funcionalidade. Os recursos podem ser baseados em recursos ou conteúdo, como diálogo autenticação ou caixa de diálogo. Também há recursos para tipos de aplicativo, como páginas e outros agrupamentos.

Na Versão Prévia do SDK do TeamsJS v2.0, as APIs são definidas como funções em um namespace JavaScript cujo nome corresponde à funcionalidade necessária. Se um aplicativo estiver em execução em um host que dê suporte à funcionalidade caixa de diálogo, o aplicativo poderá chamar APIs com segurança, como dialog.open (além de outras APIs relacionadas à caixa de diálogo definidas no namespace). Se um aplicativo tentar chamar uma API que não tem suporte nesse host, a API gera uma exceção. Para verificar se o host atual que está executando seu aplicativo dá suporte a uma determinada funcionalidade, chame a função isSupported() de seu namespace.

Diferenciar sua experiência de aplicativo

Você pode verificar o suporte de host de uma determinada funcionalidade em runtime chamando a função isSupported() nessa funcionalidade (namespace). Ela retornará true se tiver suporte e false, caso contrário, e você poderá ajustar o comportamento do aplicativo conforme apropriado. Isso permite que seu aplicativo ilumine a interface do usuário e a funcionalidade em hosts que dão suporte a ele, enquanto continua a ser executado para hosts que não têm.

O nome do host no qual seu aplicativo está sendo executado é exposto como uma propriedade hostName na interface de contexto (app.Context.app.host.name), que pode ser consultada em runtime chamando getContext. Ele também está disponível como um {hostName}valor de espaço reservado de URL. A prática recomendada é usar o mecanismo hostName com moderação:

  • Não suponha que determinada funcionalidade esteja ou não esteja disponível em um host com base no valor da propriedade hostName. Em vez disso, verifique se há suporte para funcionalidades (isSupported).
  • Não use hostName para enviar chamadas à API. Em vez disso, verifique se há suporte para funcionalidades (isSupported).
  • UsehostName para diferenciar o tema do seu aplicativo com base no host em que ele está sendo executado. Por exemplo, você pode usar Microsoft Teams púrpura como a cor de destaque principal ao executar em Teams e Outlook azul ao executar em Outlook.
  • UsehostNamepara diferenciar as mensagens mostradas para o usuário com base no host em que ele está sendo executado. Por exemplo, mostre Gerenciar suas tarefas no Microsoft 365 ao executar no Microsoft 365 na Web e Gerenciar suas tarefas no Teams ao executar no Teams.

Namespaces

A partir do TeamsJS v.2.0, as APIs são organizadas em funcionalidades por meio de namespaces. Vários novos namespaces de importância específica são aplicativo, páginas, caixa de diálogo e teamsCore.

namespace do aplicativo

O app namespace contém APIs de nível superior necessárias para o uso geral do aplicativo, entre Teams, aplicativo Microsoft 365 e Outlook. Todas as APIs de vários outros namespaces do TeamsJS foram movidas para o namespace app a partir do TeamsJS v2.0:

Namespace original global (window) Novo namespace app
executeDeepLink app.openLink (renomeado)
initialize app.initialize
getContext app.getContext
registerOnThemeChangeHandler app.registerOnThemeChangeHandler
Namespace original appInitialization Novo namespace app
appInitialization.notifyAppLoaded app.notifyAppLoaded
appInitialization.notifySuccess app.notifySuccess
appInitialization.notifyFailure app.notifyFailure
appInitialization.notifyExpectedFailure app.notifyExpectedFailure
appInitialization.FailedReason enumeração app.FailedReason
appInitialization.ExpectedFailureReason enumeração app.ExpectedFailureReason
appInitialization.IFailedRequest enumeração app.IFailedRequest
appInitialization.IExpectedFailureRequest enumeração app.IExpectedFailureRequest
namespace de páginas

O pages namespace inclui funcionalidade para executar e navegar páginas da Web em vários hosts do Microsoft 365, incluindo Teams, aplicativo Microsoft 365 e Outlook. Ele também inclui vários sub-recursos, implementados como sub-namespaces.

Namespace original global (window) Novo namespace pages
setFrameContext pages.setCurrentFrame (renomeado)
initializeWithFrameContext pages.initializeWithFrameContext
registerFocusEnterHandler pages.registerFocusEnterHandler
registerFullScreenHandler pages.registerFullScreenHandler
navigateCrossDomain pages.navigateCrossDomain
returnFocus pages.returnFocus
shareDeepLink pages.shareDeepLink
Namespace original settings Novo namespace pages
settings.getSettings pages.getConfig (renomeado)
pages.tabs
Namespace original global (window) Novo namespace pages.tabs
getTabInstances pages.tabs.getTabInstances
getMruTabInstances pages.tabs.getMruTabInstances
Namespace original navigation Novo namespace pages.tabs
navigation.navigateToTab pages.tabs.navigateToTab
pages.config
Namespace original settings Novo namespace pages.config
settings.setSettings pages.config.setConfig (renomeado)
settings.setValidityState pages.config.setValidityState
settings.initialize pages.config.initialize
settings.registerOnSaveHandler pages.config.registerOnSaveHandler
settings.registerOnRemoveHandler pages.config.registerOnRemoveHandler
settings.Settings interface pages.config.Config (renomeado)
settings.SaveEvent interface pages.config.SaveEvent (renomeado)
settings.RemoveEvent interface pages.config.RemoveEvent (renomeado)
settings.SaveParameters interface pages.config.SaveParameters (renomeado)
settings.SaveEventImpl interface pages.config.SaveEventImpl (renomeado)
Namespace original global (window) Novo namespace pages.config
registerChangeConfigHandler pages.config.registerChangeConfigHandler (renomeado)
pages.backStack
Namespace original navigation Novo namespace pages.backStack
navigation.navigateBack pages.backStack.navigateBack
Namespace original global (window) Novo namespace pages.backStack
registerBackButtonHandler pages.backStack.registerBackButtonHandler
pages.appButton
Namespace original global (window) Novo namespace pages.appButton
registerAppButtonClickHandler pages.appButton.onClick (renomeado)
registerAppButtonHoverEnterHandler pages.appButton.onHoverEnter (renomeado)
registerAppButtonHoverLeaveEnter pages.appButton.onHoverLeave (renomeado)
FrameContext interface pages.appButton.FrameInfo (renomeado))
namespace da caixa de diálogo

O namespace de tarefas do TeamsJS foi renomeada para caixa de diálogo e as seguintes APIs foram renomeadas:

Namespace original tasks Novo namespace dialog
tasks.startTask dialog.open (renomeado)
tasks.submitTasks dialog.submit (renomeado)
tasks.updateTasks dialog.update.resize (renomeado)
tasks.TaskModuleDimension enumeração dialog.DialogDimension (renomeado)
tasks.TaskInfo interface dialog.DialogInfo (renomeado)

Além disso, essa funcionalidade foi dividida em uma funcionalidade principal (dialog) para dar suporte a diálogos baseados em HTML e uma subfuncionalidade para diálogos baseados em bot, dialog.bot.

namespace do teamsCore

Para generalizar a biblioteca do TeamsJS para executar outros hosts do Microsoft 365, como o aplicativo Microsoft 365 e o Outlook, a funcionalidade específica do Teams (originalmente no namespace global ) foi movida para um namespace teamsCore :

Namespace original global (window) Novo namespace teamsCore
enablePrintCapability teamsCore.enablePrintCapability
print teamsCore.print
registerOnLoadHandler teamsCore.registerOnLoadHandler
registerBeforeUnloadHandler teamsCore.registerBeforeUnloadHandler

Atualizações para a interface de Contexto

A Context interface foi movida para o app namespace e atualizada para agrupar propriedades semelhantes para melhor escalabilidade, pois é executada no Outlook e no aplicativo Microsoft 365, além do Teams.

Uma nova propriedade app.Context.app.host.name foi adicionada para habilitar guias pessoais para diferenciar a experiência do usuário, dependendo do aplicativo host.

Você também pode visualizar as alterações examinando a transformLegacyContextToAppContext função na origem do TeamsJS versão 2.x.x (arquivo app.ts ).

Nome original na interface Context Novo local em app.Context
appIconPosition app.Context.app.iconPositionVertical
appLaunchId NÃO EXISTE NO TeamsJS v.2.0
appSessionId app.Context.app.sessionId
channelId app.Context.channel.id
channelName app.Context.channel.displayName
channelRelativeUrl app.Context.channel.relativeUrl
channelType app.Context.channel.membershipType
chatId app.Context.chat.id
defaultOneNoteSectionId app.Context.channel.defaultOneNoteSectionId
entityId app.Context.page.id
frameContext app.Context.page.frameContext
groupId app.Context.team.groupId
hostClientType app.Context.app.host.clientType
hostTeamGroupId app.Context.channel.ownerGroupId
hostTeamTenantId app.Context.channel.ownerTenantId
isCallingAllowed app.Context.user.isCallingAllowed
isFullScreen app.Context.page.isFullScreen
isMultiWindow app.Context.page.isMultiWindow
isPSTNCallingAllowed app.Context.user.isPSTNCallingAllowed
isTeamArchived app.Context.team.isArchived
locale app.Context.app.locale
loginHint app.Context.user.loginHint
meetingId app.Context.meeting.id
osLocaleInfo app.Context.app.osLocaleInfo
parentMessageId app.Context.app.parentMessageId
ringId app.Context.app.host.ringId
sessionId app.Context.app.host.sessionId
sourceOrigin app.Context.page.sourceOrigin
subEntityId app.Context.page.subPageId
teamId app.Context.team.internalId
teamSiteDomain app.Context.sharepointSite.domain
teamSitePath app.Context.sharepointSite.path
teamSiteUrl app.Context.sharepointSite.url
teamTemplateId app.Context.team.templateId
teamType app.Context.team.type
tenantSKU app.Context.user.tenant.teamsSku
tid app.Context.user.tenant.id
upn app.Context.user.userPrincipalName
userClickTime app.Context.app.userClickTime
userFileOpenPreference app.Context.app.userFileOpenPreference
userLicenseType app.Context.user.licenseType
userObjectId app.Context.user.id
userTeamRole app.Context.team.userRole
NA app.Context.app.host.name

Atualização para o TeamsJS versão 2.0

A maneira mais fácil de atualizar seu aplicativo teams com o TeamsJS versão 2.0.x é usar a extensão do Teams Toolkit para Visual Studio Code. Esta seção orientará você pelas etapas para fazer isso. Se você preferir atualizar manualmente seu código, consulte os Retornos de Chamada convertidos em promessas e APIs organizadas em seções de funcionalidades para obter mais detalhes sobre as alterações de API necessárias.

1. Instale a extensão mais recente do kit de ferramentas do Teams Visual Studio Code

No Visual Studio Code Extensions Marketplace, pesquise o Teams Toolkit e instale a versão mais recente.

2. Atualizar referências do TeamsJS

Para ser executado no Outlook e no aplicativo Microsoft 365, seu aplicativo precisará depender do pacote @microsoft/teams-js@2.0.0npm (ou posterior). Para executar essas etapas manualmente e para obter mais informações sobre as alterações de API, consulte as seções a seguir sobre retornos de chamada convertidos em promessas e APIs organizadas em funcionalidades.

  1. Verifique se você tem o kit de ferramentas mais recente do Teams (versão 2.10.0 ou posterior)
  2. Abra a paleta de comandos: Ctrl+Shift+P
  3. Execute o comando Teams: Upgrade Teams JS SDK references to support Outlook and Microsoft 365 apps.

Após a conclusão, o utilitário terá atualizado seu package.json arquivo com a dependência do TeamsJS versão 2.x.x (@microsoft/teams-js@2.0.0 ou posterior) e seus *.js/.ts arquivos e *.jsx/.tsx serão atualizados com:

Importante

O código dentro de arquivos html não é suportado pelas ferramentas de atualização e exigirá alterações manuais.

3. Atualizar o manifesto (opcional)

Se você estiver atualizando um aplicativo do Teams para ser executado no aplicativo Microsoft 365 e no Outlook, também precisará atualizar o manifesto do aplicativo para a versão 1.13 ou posterior. Você pode fazer isso facilmente com o Kit de ferramentas do Teams ou manualmente.

  1. Abra a paleta de comandos: Ctrl+Shift+P
  2. Executar o Teams: atualize o manifesto do Teams para dar suporte ao comando de aplicativos do Outlook e do Microsoft 365 e selecione o arquivo de manifesto do aplicativo. As alterações serão feitas em vigor.

Se você usou o kit de ferramentas do Teams para criar seu aplicativo pessoal, também poderá usá-lo para validar as alterações no arquivo de manifesto e identificar erros. Abra a paleta de comandos Ctrl+Shift+P e localize o Teams: valide o arquivo de manifesto ou selecione a opção no menu Implantação do Kit de Ferramentas do Teams (procure o ícone do Teams no lado esquerdo do Visual Studio Code).

Opção

Próximas etapas