Demander des autorisations d’appareil pour votre application Microsoft Teams client

Vous pouvez enrichir votre application Teams avec des fonctionnalités natives d’appareil, telles que la caméra, le microphone et l’emplacement. Ce document vous guide sur la façon de demander le consentement de l’utilisateur et d’accéder aux autorisations d’appareil natives.

Notes

  • Pour intégrer des fonctionnalités multimédias dans Microsoft Teams application mobile, voir Intégrer les fonctionnalités multimédias.
  • Pour intégrer la fonctionnalité de QR ou de scanneur de code-barres dans votre application mobile Microsoft Teams, voir Intégrer la QRou la fonctionnalité de scanneur de code-barres dans Teams .
  • Pour intégrer des fonctionnalités d’emplacement dans Microsoft Teams application mobile, voir Intégrer les fonctionnalités d’emplacement.

Autorisations d’appareil natives

Vous devez demander les autorisations d’appareil pour accéder aux fonctionnalités natives de l’appareil. Les autorisations d’appareil fonctionnent de la même manière pour toutes les constructions d’application, telles que les onglets, les modules de tâche ou les extensions de messagerie. L’utilisateur doit se rendre sur la page d’autorisations Teams paramètres pour gérer les autorisations d’appareil. En accédant aux fonctionnalités de l’appareil, vous pouvez créer des expériences plus riches sur la plateforme Teams, telles que :

  • Capturer et afficher des images.
  • Analysez la QR ou le code-barres.
  • Enregistrez et partagez de courtes vidéos.
  • Enregistrez les mémos audio et enregistrez-les pour une utilisation ultérieure.
  • Utilisez les informations d’emplacement de l’utilisateur pour afficher les informations pertinentes.

Notes

  • Actuellement, Teams ne prend pas en charge les autorisations d’appareil pour les applications multi-fenêtres, les onglets et le panneau latéral de la réunion.
  • Les autorisations d’appareil sont différentes dans le navigateur. Pour plus d’informations, voir autorisations d’appareil de navigateur.

Autorisations d’accès aux appareils

Le Microsoft Teams SDK client JavaScript fournit les outils nécessaires à votre application mobile Teams pour accéder aux autorisations d’appareil de l’utilisateur et créer une expérience plus riche.

Bien que l’accès à ces fonctionnalités soit standard dans les navigateurs web modernes, vous devez informer Teams sur les fonctionnalités que vous utilisez en mettant à jour le manifeste de votre application. Cette mise à jour vous permet de demander des autorisations pendant que votre application s’exécute sur Teams client de bureau.

Notes

Actuellement, Microsoft Teams prise en charge des fonctionnalités multimédias et de scanneur de code-barres QR est disponible uniquement pour les clients mobiles.

Gérer les autorisations

Un utilisateur peut gérer les autorisations d’appareil dans Teams paramètres en sélectionnant Autoriser ou refuser des autorisations pour des applications spécifiques.

  1. Ouvrez Teams.

  2. Go to Paramètres > App Permissions.

  3. Sélectionnez l’application pour laquelle vous devez choisir les paramètres.

  4. Sélectionnez les paramètres souhaités.

    Écran des paramètres mobiles des autorisations d’appareil

Spécifier des autorisations

Mettez à jour les propriétés de votre application en ajoutant et en spécifiant les cinq propriétés suivantes que vous manifest.json utilisez dans votre application devicePermissions :

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

Chaque propriété vous permet d’inviter l’utilisateur à demander son consentement :

Propriété Description
media Autorisation d’utiliser la caméra, le microphone, les haut-parleurs et d’accéder à la galerie multimédia.
géolocalisation Autorisation de renvoyer l’emplacement de l’utilisateur.
notifications Autorisation d’envoyer des notifications à l’utilisateur.
midi Autorisation d’envoyer et de recevoir des informations MIDI (Music Instrument Digital Interface) à partir d’un instrument de musique numérique.
openExternal Autorisation d’ouvrir des liens dans des applications externes.

Vérifier les autorisations de votre application

Après l’ajout au manifeste de votre application, vérifiez les autorisations à l’aide de devicePermissions l’API d’autorisations HTML5 sans provoquer d’invite :

// 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
  }
});

Utiliser Teams API pour obtenir des autorisations d’appareil

Tirez parti de l’API HTML5 ou Teams appropriée pour afficher une invite pour obtenir l’autorisation d’accès aux autorisations d’appareil.

Important

  • Prise en camera charge de , et est activée par le biais de gallery microphone l’API selectMedia. Utilisez l’API captureImage pour une capture d’image unique.
  • La prise location en charge est activée via l’API getLocation. Vous devez l’utiliser pour l’emplacement, car l’API de géolocalisation HTML5 n’est actuellement pas entièrement prise getLocation API en charge Teams client de bureau.

Par exemple :

  • Pour demander à l’utilisateur d’accéder à son emplacement, vous devez appeler getCurrentPosition() :

    navigator.geolocation.getCurrentPosition    (function (position) { /*... */ });
    
  • Pour demander à l’utilisateur d’accéder à son appareil photo sur un ordinateur de bureau ou sur le web, vous devez appeler getUserMedia() :

    navigator.mediaDevices.getUserMedia({ audio: true, video: true });
    
  • Pour capturer l’image sur un appareil mobile, Teams mobile demande l’autorisation lorsque vous appelez captureImage() :

    microsoftTeams.media.captureImage((error: microsoftTeams.SdkError, files: microsoftTeams.media.File[]) => {
      /* ... */
    });
    
  • Les notifications inviteront l’utilisateur à appeler requestPermission() :

    Notification.requestPermission(function(result) { /* ... */ });
    
  • Pour utiliser l’appareil photo ou accéder à la galerie de photos, Teams mobile demande l’autorisation lorsque vous appelez selectMedia() :

    microsoftTeams.media.selectMedia({ maxMediaCount: 10, mediaType: microsoftTeams.media.MediaType.Image }, (error: microsoftTeams.SdkError, attachments: microsoftTeams.media.Media[]) => {
      /* ... */
    );
    
  • Pour utiliser le microphone, Teams mobile demande l’autorisation lorsque vous appelez selectMedia() :

    microsoftTeams.media.selectMedia({ maxMediaCount: 1, mediaType: microsoftTeams.media.MediaType.Audio }, (error: microsoftTeams.SdkError, attachments: microsoftTeams.media.Media[]) => {
      /* ... */
    });
    
  • Pour demander à l’utilisateur de partager un emplacement sur l’interface de carte, Teams mobile demande l’autorisation lorsque vous appelez getLocation() :

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

Comportement des autorisations entre les sessions de connexion

Les autorisations d’appareil sont stockées pour chaque session de connexion. Cela signifie que si vous vous connectez à une autre instance de Teams, par exemple, sur un autre ordinateur, les autorisations de votre appareil à partir de vos sessions précédentes ne sont pas disponibles. Par conséquent, vous devez consentir à nouveau aux autorisations d’appareil pour la nouvelle session. Cela signifie également que, si vous vous dé connectez à Teams ou que vous changez de client dans Teams, les autorisations de votre appareil sont supprimées de la session de connexion précédente.

Notes

Lorsque vous consentez aux autorisations natives de l’appareil, elle n’est valide que pour votre session de connexion actuelle.

Exemple de code

Exemple de nom Description Node.js
Autorisations de l’appareil Utiliser un exemple Microsoft Teams’onglet pour démontrer les autorisations de l’appareil View

Voir aussi