Compartilhar via


Registrar chamadas e reuniões do bot do Microsoft Teams

Um bot que participa de chamadas de áudio ou vídeo e de reuniões online é um bot regular do Microsoft Teams com os seguintes recursos extras usados ​​para registrar o bot:

  • Existe uma nova versão do manifesto da aplicação (anteriormente denominada manifesto de aplicação do Teams) com duas definições supportsCalling adicionais e supportsVideo. Estas definições estão incluídas no manifesto da aplicação.
  • As permissões do Microsoft Graph devem ser configuradas para a ID do Aplicativo Microsoft do bot.
  • As permissões de chamadas do Graph e APIs de reuniões online exigem o consentimento do administrador do locatário.

Novas definições de manifesto de aplicação

Os bots de chamadas e reuniões online têm as duas configurações adicionais a seguir no manifest.json que habilitam áudio ou vídeo para o bot no Teams.

  • bots[0].supportsCalling. Se estiver presente e definido como true, o Teams permitirá que seu bot participe de chamadas e reuniões online.
  • bots[0].supportsVideo. Se estiver presente e definido como true, o Teams saberá que seu bot dá suporte a vídeo.

Se quiser que o IDE valide corretamente o esquema manifest.json para suas chamadas e o bot de reuniões para esses valores, você pode alterar o atributo $schema da seguinte maneira:

"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",

A próxima seção permite que você crie um novo bot ou adicione recursos de chamada ao bot existente.

Criar um bot ou adicionar recursos de chamada

Para obter informações sobre como criar bots, confira criar um bot para o Teams.

Para criar um novo bot para o Teams:

  1. Use este link para criar um novo bot, https://dev.botframework.com/bots/new. Como alternativa, se você selecionar o botão Criar um bot no portal Bot Framework, crie seu bot no Microsoft Azure, para o qual você deve ter uma conta do Azure.

  2. Adicione o canal do Teams.

  3. Selecione a guia Chamada na página do canal do Teams. Selecione Habilitar chamada e, em seguida, atualize Webhook (para chamada) com a URL HTTPS em que você recebe notificações de entrada, por exemplo https://contoso.com/teamsapp/api/calling. Para obter mais informações, confira configuração de canais.

    Configurar informações do canal do Teams

A próxima seção fornece uma lista de permissões de aplicativo com suporte para chamadas e reuniões online.

Adicionar permissões do Graph

O Graph fornece permissões granulares para controlar o acesso que os aplicativos têm aos recursos. Como desenvolvedor, você decide quais permissões seu aplicativo deverá solicitar para o Microsoft Graph. As APIs de chamada do Graph suportam permissões de consentimento específico de recursos (RSC) e permissões de aplicação.

Permissões RSC para chamadas

O RSC é uma arquitetura de autorização criada pelo Teams e pela plataforma de identidades da Microsoft que permite conceder acesso limitado a uma aplicação. Através do RSC, um utilizador autorizado pode conceder a uma aplicação acesso aos dados de uma instância específica de um tipo de recurso.

Se uma conversa tiver uma reunião ou uma chamada associada, as permissões RSC relevantes também se aplicam a esses recursos.

A tabela seguinte fornece permissões de aplicação RSC para chamadas:

Nome da permissão Ação
Calls.AccessMedia.Chat Acesse fluxos de mídia em chamadas associadas a esse chat ou reunião.
Calls.JoinGroupCalls.Chat Participe de chamadas associadas a esse chat ou reunião.

Permissões de aplicativo para chamadas

As permissões de aplicação para chamadas são utilizadas por aplicações que são executadas sem um utilizador com sessão iniciada presente. Um administrador de locatários deve dar consentimento a permissões de aplicativo.

A tabela a seguir fornece uma lista de permissões de aplicativo para chamadas:

Permissão Sequência de exibição Descrição É necessário o consentimento do administrador
Calls.Initiate.All Inicie chamadas individuais de saída a partir da visualização do aplicativo. Permite que o aplicativo faça chamadas de saída para um único usuário e transfira chamadas para usuários no diretório da sua organização, sem um usuário conectado. Sim
Calls.InitiateGroupCall.All Inicie as chamadas de saída 1:1 e agrupe a partir da pré-visualização da aplicação. Permite que a aplicação faça chamadas de saída para um único utilizador, vários utilizadores, transfira chamadas e adicione participantes a reuniões na sua organização, sem um utilizador com sessão iniciada. Sim
Calls.JoinGroupCall.All Ingresse em chamadas em grupo e reuniões como uma visualização de aplicativo. Permite que o aplicativo ingresse em reuniões agendadas e chamadas de grupo em sua organização, sem um usuário conectado. O aplicativo será associado aos privilégios de um usuário do diretório para reuniões em seu locatário. Sim
Calls.JoinGroupCallasGuest.All Ingresse em chamadas em grupo e reuniões como uma visualização de convidado. Permite que o aplicativo ingresse anonimamente no grupo chamadas e em reuniões agendadas em sua organização, sem um usuário conectado. O aplicativo ingressará como convidado para reuniões em seu locatário. Sim
Calls.AccessMedia.All Acessar fluxos de mídia em uma chamada como uma visualização de aplicativo. Permite que o aplicativo obtenha acesso direto aos fluxos de mídia em uma chamada sem um usuário conectado. Sim

Importante

Não é possível usar a API de Acesso à Mídia para gravar ou persistir conteúdo de mídia de chamadas ou reuniões que seu aplicativo acessa ou deriva dados desse registro ou gravação de conteúdo de mídia. Primeiro, você deve chamar a updateRecordingStatus API para indicar que a gravação começou e receber uma resposta bem-sucedida dessa API. Se o aplicativo começar a gravar qualquer reunião ou chamada, ele deverá encerrar a gravação antes de chamar a API updateRecordingStatus para indicar que a gravação foi encerrada.

Permissões de aplicativo para reuniões online

A tabela a seguir fornece uma lista de permissões de aplicativo para reuniões online:

Permissão Sequência de exibição Descrição É necessário o consentimento do administrador
OnlineMeetings.Read.All Ler detalhes da reunião online na visualização do aplicativo Permite que o aplicativo leia os detalhes da reunião online em sua organização, sem um usuário conectado. Sim
OnlineMeetings.ReadWrite.All Ler e criar reuniões online na visualização do aplicativo em nome de um usuário Permite que o aplicativo crie reuniões online em sua organização em nome de um usuário, sem um usuário conectado. Sim

Atribuir permissões

Tem de configurar as permissões de aplicação para o bot com antecedência através do portal do Microsoft Azure se preferir utilizar o ponto final do Azure Active Directory (Azure AD) v1.

Para aplicações que utilizam o ponto final do Azure AD v1, um administrador inquilino pode consentir as permissões da aplicação através do portal do Microsoft Azure quando a sua aplicação estiver instalada na organização. Em alternativa, pode fornecer uma experiência de inscrição na sua aplicação através da qual os administradores podem dar consentimento às permissões que configurou. Assim que o consentimento do administrador for registado pelo ID do Microsoft Entra, a sua aplicação pode pedir tokens sem ter de pedir novamente consentimento.

Pode contar com um administrador para conceder as permissões de que a sua aplicação precisa no portal do Microsoft Azure. Uma opção melhor é proporcionar uma experiência de inscrição para os administradores através do ponto final do Azure AD v2 /adminconsent . Para obter mais informações, veja instruções sobre a construção de um URL de consentimento do Administrador.

Observação

Para construir o URL de consentimento do administrador do inquilino, é necessário um URI de redirecionamento configurado ou um URL de resposta no portal de registo de aplicações . Para adicionar URLs de resposta para seu bot, acesse o registro do bot, escolha Opções Avançadas>Editar Manifesto do Aplicativo. Adicione a URL de redirecionamento à coleção replyUrls.

Importante

Sempre que fizer uma alteração nas permissões configuradas, repita também o processo de consentimento do administrador. As alterações feitas no portal de registro do aplicativo não serão refletidas até que o consentimento seja reaplicado pelo administrador do locatário.

Exemplo de código

Nome de exemplo Descrição .NET
Bot de chamada e reunião O aplicativo de amostra demonstra como o Bot pode criar chamadas, ingressar na reunião e transferir chamadas. View
Eventos de reunião em tempo real A aplicação de exemplo demonstra como o Bot pode receber eventos de reunião em tempo real. View

Guias passo a passo

Siga o guia passo a passo para configurar o bot de chamadas e reuniões do Teams.

Próxima etapa

Confira também