Solicitar permisos de dispositivo para la Microsoft Teams aplicación

Puedes enriquecer tu aplicación Teams con funcionalidades de dispositivo nativas, como cámara, micrófono y ubicación. Este documento le guía sobre cómo solicitar el consentimiento del usuario y obtener acceso a los permisos de dispositivo nativo.

Nota

  • Para integrar las funcionalidades multimedia dentro de Microsoft Teams móvil, consulta Integrar funcionalidades multimedia.
  • Para integrar la funcionalidad de escáner de códigos QR o código de barras dentro de la aplicación móvil Microsoft Teams, consulta Integrar la funcionalidad del escáner de códigos DE BARRAS o QR en Teams.
  • Para integrar las funcionalidades de ubicación dentro Microsoft Teams aplicación móvil, consulta Integrar capacidades de ubicación.

Permisos de dispositivo nativo

Debes solicitar los permisos del dispositivo para tener acceso a las funcionalidades nativas del dispositivo. Los permisos del dispositivo funcionan de forma similar para todas las construcciones de aplicaciones, como pestañas, módulos de tareas o extensiones de mensajería. El usuario debe ir a la página de permisos en Teams configuración para administrar los permisos del dispositivo. Al obtener acceso a las capacidades del dispositivo, puedes crear experiencias más completas en la Teams, como:

  • Capturar y ver imágenes.
  • Digitalizar QR o código de barras.
  • Grabar y compartir vídeos cortos.
  • Grabe notas de audio y guárdelas para su uso posterior.
  • Use la información de ubicación del usuario para mostrar información relevante.

Nota

  • Actualmente, Teams no admite permisos de dispositivo para aplicaciones de varias ventanas, pestañas y el panel del lado de la reunión.
  • Los permisos de dispositivo son diferentes en el explorador. Para obtener más información, vea permisos de dispositivo del explorador.

Permisos de dispositivo de acceso

El SDK Microsoft Teams cliente de JavaScript proporciona las herramientas necesarias para que la aplicación móvil de Teams tenga acceso a los permisos de dispositivo del usuario y cree una experiencia más enriquecible.

Aunque el acceso a estas características es estándar en los exploradores web modernos, debes informar a Teams sobre las características que usas actualizando el manifiesto de la aplicación. Esta actualización te permite pedir permisos mientras la aplicación se ejecuta en el Teams escritorio.

Nota

Actualmente, Microsoft Teams compatibilidad con las capacidades multimedia y la funcionalidad del escáner de códigos de barras QR solo está disponible para clientes móviles.

Administrar permisos

Un usuario puede administrar los permisos de dispositivo en Teams configuración seleccionando Permitir o denegar permisos a aplicaciones específicas.

  1. Abra Teams.

  2. Vaya a Configuración > App Permissions.

  3. Selecciona la aplicación para la que necesitas elegir la configuración.

  4. Seleccione la configuración que desee.

    Pantalla de configuración móvil de permisos de dispositivos

Especificar permisos

Actualiza las aplicaciones agregando y especificando cuál de las cinco propiedades siguientes manifest.json devicePermissions que usas en la aplicación:

"devicePermissions": [
    "media",
    "geolocation",
    "notifications",
    "midi",
    "openExternal"
],

Cada propiedad le permite pedir al usuario que pida su consentimiento:

Propiedad Descripción
medios Permiso para usar la cámara, el micrófono, los altavoces y la galería multimedia de acceso.
geolocalización Permiso para devolver la ubicación del usuario.
notificaciones Permiso para enviar las notificaciones de usuario.
midi Permiso para enviar y recibir información de interfaz digital de instrumentos musicales (MIDI) desde un instrumento musical digital.
openExternal Permiso para abrir vínculos en aplicaciones externas.

Comprobar los permisos de la aplicación

Después de agregar al manifiesto de la aplicación, comprueba los permisos mediante la API de permisos devicePermissions HTML5 sin causar un mensaje:

// Different query options:
navigator.permissions.query({ name: 'camera' });
navigator.permissions.query({ name: 'microphone' });
navigator.permissions.query({ name: 'geolocation' });
navigator.permissions.query({ name: 'notifications' });
navigator.permissions.query({ name: 'midi', sysex: true });

// Example:
navigator.permissions.query({name:'geolocation'}).then(function(result) {
  if (result.state == 'granted') {
    // Access granted
  } else if (result.state == 'prompt') {
    // Access has not been granted
  }
});

Usar Teams API para obtener permisos de dispositivo

Aproveche html5 o API Teams, para mostrar un mensaje para obtener el consentimiento para obtener acceso a los permisos del dispositivo.

Importante

  • Compatibilidad con camera , y está habilitada a través de gallery microphone selectMedia API. Use la API captureImage para una única captura de imagen.
  • La compatibilidad location con está habilitada a través de la API getLocation. Debe usarlo para la ubicación, ya que la API de geolocalización de HTML5 actualmente no es totalmente getLocation API compatible con Teams cliente de escritorio.

Por ejemplo:

  • Para solicitar al usuario que acceda a su ubicación, debe llamar a getCurrentPosition() :

    navigator.geolocation.getCurrentPosition    (function (position) { /*... */ });
    
  • Para solicitar al usuario que acceda a su cámara en el escritorio o la web, debe llamar a getUserMedia() :

    navigator.mediaDevices.getUserMedia({ audio: true, video: true });
    
  • Para capturar la imagen en el móvil, Teams móvil pide permiso al llamar captureImage() a :

    microsoftTeams.media.captureImage((error: microsoftTeams.SdkError, files: microsoftTeams.media.File[]) => {
      /* ... */
    });
    
  • Las notificaciones le pedirán al usuario que requestPermission() llame:

    Notification.requestPermission(function(result) { /* ... */ });
    
  • Para usar la cámara o la galería de fotos de acceso, Teams móvil pide permiso al llamar a selectMedia() :

    microsoftTeams.media.selectMedia({ maxMediaCount: 10, mediaType: microsoftTeams.media.MediaType.Image }, (error: microsoftTeams.SdkError, attachments: microsoftTeams.media.Media[]) => {
      /* ... */
    );
    
  • Para usar el micrófono, Teams móvil pide permiso al llamar selectMedia() a :

    microsoftTeams.media.selectMedia({ maxMediaCount: 1, mediaType: microsoftTeams.media.MediaType.Audio }, (error: microsoftTeams.SdkError, attachments: microsoftTeams.media.Media[]) => {
      /* ... */
    });
    
  • Para solicitar al usuario que comparta la ubicación en la interfaz de mapa, Teams móvil pide permiso al llamar getLocation() a :

    microsoftTeams.location.getLocation({ allowChooseLocation: true, showMap: true }, (error: microsoftTeams.SdkError, location: microsoftTeams.location.Location) => {
      /* ... *
    /});
    

Comportamiento de permisos en sesiones de inicio de sesión

Los permisos de dispositivo se almacenan para cada sesión de inicio de sesión. Esto significa que si inicias sesión en otra instancia de Teams, por ejemplo, en otro equipo, los permisos del dispositivo de las sesiones anteriores no estarán disponibles. Por lo tanto, debe volver a dar su consentimiento a los permisos del dispositivo para la nueva sesión. También significa que, si sale de Teams o cambia de inquilino en Teams, los permisos del dispositivo se eliminan de la sesión de inicio de sesión anterior.

Nota

Cuando da su consentimiento a los permisos de dispositivo nativo, solo es válido para la sesión de inicio de sesión actual.

Ejemplo de código

Nombre de ejemplo Description Node.js
Permisos de dispositivo Usar Microsoft Teams de ejemplo de pestaña para demostrar los permisos del dispositivo Ver

Consulte también