Anfordern von Geräteberechtigungen für Ihre Microsoft Teams-App

Sie können Ihre Teams-App mit systemeigenen Gerätefunktionen wie Kamera, Mikrofon und Standort erweitern. In diesem Dokument erfahren Sie, wie Sie die Zustimmung des Benutzers anfordern und auf die systemeigenen Geräteberechtigungen zugreifen können.

Hinweis

Systemeigene Geräteberechtigungen

Sie müssen die Geräteberechtigungen anfordern, um auf systemeigene Gerätefunktionen zugreifen zu können. Die Geräteberechtigungen funktionieren für alle App-Konstrukte, z. B. Registerkarten, Aufgabenmodule oder Messaging-Erweiterungen, ähnlich. Der Benutzer muss zur Seite "Berechtigungen" in Teams Einstellungen wechseln, um Geräteberechtigungen zu verwalten. Durch den Zugriff auf die Gerätefunktionen können Sie umfassendere Funktionen auf der Teams Plattform erstellen, z. B.:

  • Erfassen und Anzeigen von Bildern.
  • Scannen Sie QR oder Barcode.
  • Aufzeichnen und Freigeben kurzer Videos.
  • Notieren Sie Audionotizen, und speichern Sie sie zur späteren Verwendung.
  • Verwenden Sie die Standortinformationen des Benutzers, um relevante Informationen anzuzeigen.

Hinweis

  • Derzeit unterstützt Teams keine Geräteberechtigungen für Apps mit mehreren Fenstern, Registerkarten und den Besprechungsbereich.
  • Geräteberechtigungen unterscheiden sich im Browser. Weitere Informationen finden Sie unter Berechtigungen für Browsergeräte.

Zugreifen auf Geräteberechtigungen

Das Microsoft Teams JavaScript-Client-SDK stellt die Tools bereit, die Ihre Teams mobile App benötigt, um auf die Geräteberechtigungen des Benutzers zuzugreifen und eine umfassendere Benutzeroberfläche zu erstellen.

Während der Zugriff auf diese Features in modernen Webbrowsern standard ist, müssen Sie Teams über die Features informieren, die Sie verwenden, indem Sie Ihr App-Manifest aktualisieren. Mit diesem Update können Sie Berechtigungen anfordern, während Ihre App auf dem Teams Desktopclient ausgeführt wird.

Hinweis

Derzeit ist Microsoft Teams Unterstützung für Medienfunktionen und QR-Strichcodescanner nur für mobile Clients verfügbar.

        Berechtigungen verwalten

Ein Benutzer kann Geräteberechtigungen in Teams Einstellungen verwalten, indem er Berechtigungen für bestimmte Apps zulassen oder verweigern auswählt.

  1. Öffnen Sie Teams.

  2. Wechseln Sie zu Einstellungen > App-Berechtigungen.

  3. Wählen Sie die App aus, für die Sie die Einstellungen auswählen müssen.

  4. Wählen Sie die gewünschten Einstellungen aus.

    Bildschirm "Mobile Einstellungen für Geräteberechtigungen"

Angeben von Berechtigungen

Aktualisieren Sie Ihre App, manifest.json indem Sie die folgenden fünf Eigenschaften hinzufügen und devicePermissions angeben, die Sie in Ihrer Anwendung verwenden:

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

Mit jeder Eigenschaft können Sie den Benutzer auffordern, seine Zustimmung einzuholen:

Eigenschaft Beschreibung
Medien Berechtigung zum Verwenden der Kamera, des Mikrofons, der Lautsprecher und des Zugriffs auf den Medienkatalog.
Geolocation Berechtigung zum Zurückgeben des Standorts des Benutzers.
Benachrichtigungen Berechtigung zum Senden von Benutzerbenachrichtigungen.
Midi Berechtigung zum Senden und Empfangen von Midi-Informationen (Music Instrument Digital Interface) von einem digitalen Musik instrument.
openExternal Berechtigung zum Öffnen von Links in externen Anwendungen.

Überprüfen von Berechtigungen aus Ihrer App

Überprüfen Sie nach dem Hinzufügen devicePermissions zum App-Manifest die Berechtigungen mithilfe der HTML5-Berechtigungs-API, ohne eine Aufforderung zu verursachen:

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

Verwenden von Teams-APIs zum Abrufen von Geräteberechtigungen

Nutzen Sie die entsprechende HTML5- oder Teams-API, um eine Eingabeaufforderung für den Zugriff auf Geräteberechtigungen anzuzeigen.

Wichtig

  • Unterstützung für camera , und ist über gallery microphone selectMedia-APIaktiviert. Verwenden Sie die captureImage-API für eine einzelne Bildaufnahme.
  • Die Unterstützung für location ist über die getLocation-APIaktiviert. Sie müssen dies getLocation API für den Standort verwenden, da die HTML5-Geolocation-API auf Teams Desktopclient derzeit nicht vollständig unterstützt wird.

Beispiel:

  • Um den Benutzer aufzufordern, auf seine Position zuzugreifen, müssen Sie Folgendes getCurrentPosition() aufrufen:

    navigator.geolocation.getCurrentPosition    (function (position) { /*... */ });
    
  • Um den Benutzer aufzufordern, auf seine Kamera auf dem Desktop oder im Web zuzugreifen, müssen Sie getUserMedia() Folgendes aufrufen:

    navigator.mediaDevices.getUserMedia({ audio: true, video: true });
    
  • Um das Bild auf mobilgeräten zu erfassen, fordert Teams Mobile beim Anruf die Berechtigung captureImage() an:

    microsoftTeams.media.captureImage((error: microsoftTeams.SdkError, files: microsoftTeams.media.File[]) => {
      /* ... */
    });
    
  • Benachrichtigungen fordern den Benutzer beim Aufrufen requestPermission() an:

    Notification.requestPermission(function(result) { /* ... */ });
    
  • Um die Kamera zu verwenden oder auf die Fotogalerie zuzugreifen, fordert Teams Mobiltelefon beim Anruf die Berechtigung selectMedia() an:

    microsoftTeams.media.selectMedia({ maxMediaCount: 10, mediaType: microsoftTeams.media.MediaType.Image }, (error: microsoftTeams.SdkError, attachments: microsoftTeams.media.Media[]) => {
      /* ... */
    );
    
  • Um das Mikrofon zu verwenden, fordert Teams Mobiltelefon beim Anruf die Berechtigung selectMedia() an:

    microsoftTeams.media.selectMedia({ maxMediaCount: 1, mediaType: microsoftTeams.media.MediaType.Audio }, (error: microsoftTeams.SdkError, attachments: microsoftTeams.media.Media[]) => {
      /* ... */
    });
    
  • Um den Benutzer aufzufordern, den Standort auf der Kartenoberfläche freizugeben, fragt Teams Mobile beim Aufrufen die getLocation() Berechtigung:

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

Berechtigungsverhalten über Anmeldesitzungen hinweg

Geräteberechtigungen werden für jede Anmeldesitzung gespeichert. Wenn Sie sich also bei einer anderen Instanz von Teams anmelden, z. B. auf einem anderen Computer, sind Ihre Geräteberechtigungen aus Ihren vorherigen Sitzungen nicht verfügbar. Daher müssen Sie den Geräteberechtigungen für die neue Sitzung erneut zustimmen. Dies bedeutet auch, dass Ihre Geräteberechtigungen aus der vorherigen Anmeldesitzung gelöscht werden, wenn Sie sich von Teams abmelden oder Mandanten in Teams wechseln.

Hinweis

Wenn Sie den systemeigenen Geräteberechtigungen zustimmen, ist sie nur für Ihre aktuelle Anmeldesitzung gültig.

Codebeispiel

Beispielname Beschreibung Node.js
Geräteberechtigungen Verwenden Microsoft Teams Registerkartenbeispiel-App zum Demonstrieren von Geräteberechtigungen Anzeigen

Siehe auch