Registrar un bot de llamada para Microsoft Teams
Un bot que participa en llamadas de audio y vídeo y en reuniones en línea es un bot de Microsoft Teams ordinario con algunas características adicionales:
- Hay una nueva versión del manifiesto de la aplicación de Microsoft Teams con dos opciones de configuración adicionales
supportsCalling
ysupportsVideo
. Esta configuración se incluye en la versión de vista previa para desarrolladores del manifiesto de la aplicación Microsoft Teams. - Los permisos de Microsoft Graph deben estar configurados para el identificador de aplicación de Microsoft de bot.
- Los permisos llamadas de Microsoft Graph y las API de reuniones en línea requieren el consentimiento del administrador de inquilinos.
Hablemos sobre lo anterior con más detalle.
Nueva configuración del manifiesto
Los bots de llamadas y reuniones en línea tienen dos opciones de configuración adicionales en el manifest.jsque permiten el audio y el vídeo para el bot en Teams.
bots[0].supportsCalling
. Si está presente y establecido entrue
, Microsoft Teams permitirá que el bot participe en las llamadas y las reuniones en línea.bots[0].supportsVideo
. Si está presente y establecido entrue
, Teams sabe que su bot admite vídeo.
Si desea que el IDE valide correctamente el manifest.jsdel esquema para el bot de llamadas y reuniones para estos valores, puede cambiar el atributo de la $schema
siguiente manera:
"$schema": "https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json",
Creación de un nuevo bot o adición de capacidades de llamada a un bot existente
La creación de un nuevo bot se describe con más detalle en el tema crear un bot para Microsoft Teams , pero repetiremos parte de él:
- Use este vínculo para crear un nuevo bot:
https://dev.botframework.com/bots/new
. Si, en su lugar, selecciona el botón crear un bot en el portal de la plataforma de bot, creará su bot en Microsoft Azure, en el que necesitará una cuenta de Azure. - Agregue el canal de Microsoft Teams. Haga clic en la pestaña "llamada" en la página de canal de Microsoft Teams y seleccione Habilitar llamada y, a continuación, actualizar webhook (para llamar) con la dirección URL https donde recibirá las notificaciones entrantes; por ejemplo,
https://contoso.com/teamsapp/api/calling
. Consulte Configuring Channels para obtener más información sobre cómo configurar los canales.
Agregar permisos de Microsoft Graph
Microsoft Graph expone permisos granulares que controlan el acceso de las aplicaciones a los recursos. Como desarrollador, usted decide qué permisos de Microsoft Graph solicita la aplicación. Las API de llamada de Microsoft Graph admiten permisos de aplicación, que son usados por aplicaciones que se ejecutan sin la presencia de un usuario que ha iniciado sesión. Un administrador de inquilinos debe conceder consentimiento a los permisos de la aplicación. A continuación se muestra una lista de los permisos:
Permisos de aplicación: llamadas
Permiso | Cadena para mostrar | Descripción | Se requiere el consentimiento del administrador |
---|---|---|---|
Calls.Initiate.All | Iniciar llamadas salientes de 1:1 desde la aplicación (versión preliminar) | Permite a la aplicación realizar llamadas a un único usuario y transferir las llamadas a usuarios en el directorio de su organización, sin que el usuario haya iniciado sesión en la aplicación. | Sí |
Calls.InitiateGroupCall.All | Iniciar llamadas de grupo salientes desde la aplicación (versión preliminar) | Permite a la aplicación realizar llamadas a varios usuarios y agregar a participantes a las reuniones de su organización, sin que el usuario haya iniciado sesión en la aplicación. | Sí |
Calls.JoinGroupCall.All | Unirse a llamadas y reuniones de grupo como una aplicación (versión preliminar) | Permite a la aplicación unirse a llamadas de grupo y reuniones programadas de la organización, sin que el usuario haya iniciado sesión en la aplicación. La aplicación se combinará con los privilegios de un usuario del directorio a las reuniones en su espacio empresarial. | Sí |
Calls.JoinGroupCallasGuest.All | Unirse a llamadas y reuniones de grupo como invitado (versión preliminar) | Permite a la aplicación unirse a llamadas de grupo y reuniones programadas de la organización de forma anónima, sin que el usuario haya iniciado sesión en la aplicación. La aplicación se unirá como invitado a las reuniones de su espacio empresarial. | Sí |
Calls. AccessMedia. All vea más adelante | Accede a los flujos de medios en una llamada como aplicación (versión preliminar) | Permite a la aplicación obtener acceso directo a los flujos de medios en una llamada, sin que el usuario haya iniciado sesión en la aplicación. | Sí |
Importante
No puede usar la API de acceso a medios para grabar o conservar el contenido multimedia de llamadas o reuniones a las que accede su aplicación, o los datos derivados de ese contenido multimedia ("registro" o "grabación"), sin llamar primero a la updateRecordingStatus
API para indicar que la grabación ha comenzado y recibir una respuesta correcta desde esa API. Si la aplicación empieza a grabar una reunión o llamada, debe finalizar la grabación antes de llamar a la updateRecordingStatus
API para indicar que la grabación ha finalizado.
Permisos de aplicación: reuniones en línea
Permiso | Cadena para mostrar | Descripción | Se requiere el consentimiento del administrador |
---|---|---|---|
OnlineMeetings.Read.All | Leer detalles de la reunión en línea desde la aplicación (versión preliminar) | Permite a la aplicación leer los detalles de las reuniones en línea de la organización, sin que un usuario haya iniciado sesión. | Sí |
OnlineMeetings.ReadWrite.All | Leer y crear reuniones en línea desde la aplicación (versión preliminar) en nombre de un usuario | Permite a la aplicación crear reuniones en línea dentro de la organización en nombre de un usuario, sin que un usuario haya iniciado sesión. | Sí |
Asignación de permisos
Debe configurar los permisos de la aplicación para su bot de antemano con el portal de Azure si prefiere usar el punto de conexión de Azure ad v1.
Obtener el consentimiento del administrador de inquilinos
Para las aplicaciones que usan el punto de conexión de Azure AD v1, un administrador de inquilinos puede dar su consentimiento a los permisos de la aplicación mediante el portal de Azure cuando la aplicación está instalada en la organización, o puede proporcionar una experiencia de suscripción en su aplicación a través de la cual los administradores pueden dar su consentimiento a los permisos configurados. Una vez que Azure AD registra el consentimiento del administrador, la aplicación puede solicitar tokens sin tener que volver a solicitar el consentimiento.
Puede confiar en un administrador para conceder los permisos que necesita la aplicación en Azure portal; pero, a menudo, una mejor opción es proporcionar una experiencia de suscripción a los administradores mediante el punto de conexión de Azure AD V2 /adminconsent
. Para obtener más información, consulte las instrucciones sobre cómo crear una dirección URL de consentimiento de administrador .
Nota
La construcción de la dirección URL de consentimiento del administrador del espacio empresarial requiere una URL de respuesta/URI de redireccionamiento configurada en el portal de registrode la aplicación. Para agregar direcciones URL de respuesta para el bot, obtenga acceso al registro de los robots, elija Opciones avanzadas: > editar manifiesto de la aplicación. Agregue la dirección URL de redireccionamiento a la replyUrls
colección.
Importante
Siempre que realice un cambio en los permisos de la aplicación, también debe repetir el proceso de consentimiento del administrador. Los cambios realizados en el portal de registro de la aplicación no se reflejarán hasta que el administrador del inquilino haya vuelto a aplicar el consentimiento.