Implementieren von Szenarien für freigegebene Ordner und freigegebene Postfächer in einem Outlook-Add-In

In diesem Artikel wird beschrieben, wie Sie freigegebene Ordner (auch als Stellvertretungszugriff bezeichnet) und Szenarien für freigegebene Postfächer in Ihrem Outlook-Add-In implementieren, einschließlich der von der Office JavaScript-API unterstützten Berechtigungen.

Hinweis

Die Unterstützung freigegebener Ordner wurde in Anforderungssatz 1.8 eingeführt, während die Unterstützung für freigegebene Postfächer in Anforderungssatz 1.13 eingeführt wurde. Informationen zur Clientunterstützung für diese Features finden Sie unter Unterstützte Clients und Plattformen.

Unterstützte Clients und Plattformen

In der folgenden Tabelle sind unterstützte Client-Server-Kombinationen für dieses Feature aufgeführt, einschließlich des erforderlichen kumulativen Updates, sofern zutreffend. Ausgeschlossene Kombinationen werden nicht unterstützt.

Client Exchange Online Exchange 2019 lokal
(Kumulatives Update 1 oder höher)
Exchange 2016 lokal
(Kumulatives Update 6 oder höher)
Webbrowser (moderne Outlook-Benutzeroberfläche) Unterstützt Nicht zutreffend
Webbrowser (klassische Outlook-Benutzeroberfläche) Nicht zutreffend Nicht zutreffend Nicht zutreffend
neues Outlook unter Windows Unterstützt Nicht zutreffend
Windows (klassisch)
Freigegebene Ordner: Version 1910 (Build 12130.20272) oder höher

Freigegebene Postfächer: Version 2304 (Build 16327.20248) oder höher
Unterstützt Abgestützt* Abgestützt*
Mac
Version 16.47 oder höher
Unterstützt Unterstützt Unterstützt

Hinweis

* Unterstützung für dieses Feature in einer lokalen Exchange-Umgebung ist ab dem klassischen Outlook unter Windows Version 2206 (Build 15330.20000) für den aktuellen Kanal und Version 2207 (Build 15427.20000) für den monatlichen Unternehmenskanal verfügbar.

Unterstützte Setups

In den folgenden Abschnitten werden unterstützte Konfigurationen für freigegebene Postfächer und freigegebene Ordner beschrieben. Die Feature-APIs funktionieren in anderen Konfigurationen möglicherweise nicht wie erwartet. Wählen Sie die Plattform aus, die Sie konfigurieren möchten.

Freigegebene Ordner

Der Postfachbesitzer muss zunächst Zugriff auf einen Delegaten gewähren.

Sobald der Zugriff gewährt wurde, muss der Stellvertretung die Anweisungen befolgen, die im Abschnitt "Hinzufügen des Postfachs einer anderen Person zu Ihrer Ordnerliste in Outlook Web App" des Artikels Zugreifen auf das Postfach einer anderen Person beschrieben sind.

Freigegebene Postfächer

Ein freigegebenes Postfach ermöglicht es einer Gruppe von Benutzern, Nachrichten und Besprechungseinladungen mithilfe einer freigegebenen E-Mail-Adresse einfach zu überwachen und zu senden.

In Outlook im Web kann ein freigegebenes Postfach im selben Bereich wie das primäre Postfach eines Benutzers oder in einer separaten Browserregisterkarte oder einem separaten Browserfenster geöffnet werden. Eine Anleitung finden Sie unter Öffnen und Verwenden eines freigegebenen Postfachs in Outlook im Web.

Hinweis

Wenn Sie in Outlook im Web ein freigegebenes Postfach auf einer separaten Browserregisterkarte oder einem separaten Fenster mit der Option Anderes Postfach öffnen öffnen, können Probleme auftreten, wenn Sie über das Postfach auf Add-Ins zugreifen. Es wird empfohlen, das Postfach stattdessen im selben Bereich wie Ihr primäres Postfach zu öffnen. Dadurch wird sichergestellt, dass Add-Ins in Ihrem freigegebenen Postfach wie erwartet funktionieren.

Wenn Sie das freigegebene Postfach lieber mit der Option Weiteres Postfach öffnen öffnen möchten, empfehlen wir, das Add-In sowohl für Ihren primären Benutzer als auch für freigegebene Postfächer bereitzustellen.

Im neuen Outlook unter Windows wird dem Abschnitt Für mich freigegeben im Ordnerbereich ein freigegebenes Postfach hinzugefügt. Eine Anleitung finden Sie unter Öffnen und Verwenden eines freigegebenen Postfachs in Outlook.

Weitere Informationen dazu, wo Add-Ins im Allgemeinen funktionieren und wo sie nicht aktiviert werden, finden Sie auf der Übersichtsseite für Outlook-Add-Ins im Abschnitt Für Add-Ins verfügbare Postfachelemente .

Konfigurieren des Manifests

Um freigegebene Ordner und Szenarien für freigegebene Postfächer in Ihrem Add-In zu implementieren, müssen Sie zunächst die Unterstützung für das Feature in Ihrem Manifest konfigurieren. Das Markup variiert je nach Art des Manifests, das ihr Add-In verwendet.

Fügen Sie dem Array "authorization.permissions.resourceSpecific" ein zusätzliches Objekt hinzu, und legen Sie dessen Eigenschaft "name" auf "Mailbox.SharedFolder" fest.

"authorization": {
  "permissions": {
    "resourceSpecific": [
      ...
      {
        "name": "Mailbox.SharedFolder",
        "type": "Delegated"
      },
    ]
  }
},

Ermitteln, ob ein Ordner oder Postfach freigegeben ist

Bevor Sie Vorgänge in einem freigegebenen Ordner oder freigegebenen Postfach ausführen können, müssen Sie zunächst ermitteln, ob der aktuelle Ordner oder das aktuelle Postfach freigegeben ist. Um dies zu ermitteln, rufen Sie Office.context.mailbox.item.getSharedPropertiesAsync für eine Nachricht oder einen Termin im Verfassen- oder Lesemodus auf. Wenn sich das Element in einem freigegebenen Ordner oder freigegebenen Postfach befindet, gibt die Methode ein SharedProperties-Objekt zurück, das die Berechtigungen des Benutzers, die E-Mail-Adresse des Besitzers, die Basis-URL der REST-API und den Speicherort des Zielpostfachs bereitstellt.

Im folgenden Beispiel wird die getSharedPropertiesAsync -Methode aufgerufen, um den Besitzer des Postfachs und die Berechtigungen des Delegaten oder freigegebenen Postfachbenutzers zu identifizieren.

Office.context.mailbox.item.getSharedPropertiesAsync((result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.error("The current folder or mailbox isn't shared.");
    return;
  }
  const sharedProperties = result.value;
  console.log(`Owner: ${sharedProperties.owner}`);
  console.log(`Permissions: ${sharedProperties.delegatePermissions} `);
});

Unterstützte Berechtigungen

In der folgenden Tabelle werden die Berechtigungen beschrieben, die getSharedPropertiesAsync für Stellvertretungen und Freigegebene Postfachbenutzer unterstützt werden.

Berechtigung Wert Beschreibung
Lesen 1 (000001) Kann Elemente lesen.
Schreiben 2 (000010) Kann Elemente erstellen.
DeleteOwn 4 (000100) Kann nur die elemente löschen, die sie erstellt haben.
DeleteAll 8 (001000) Kann beliebige Elemente löschen.
BearbeitenOwn 16 (010000) Kann nur die elemente bearbeiten, die sie erstellt haben.
BearbeitenAlle 32 (100000) Kann beliebige Elemente bearbeiten.

Hinweis

Derzeit unterstützt die API das Abrufen vorhandener Berechtigungen, aber nicht das Festlegen von Berechtigungen.

Die delegatePermissions-Enumeration , die von der delegatePermissions-Eigenschaft zurückgegeben wird, wird mithilfe einer Bitmaske implementiert, um die Berechtigungen anzugeben. Jede Position in der Bitmaske stellt eine bestimmte Berechtigung dar, und wenn sie auf 1festgelegt ist, verfügt der Benutzer über die entsprechende Berechtigung. Wenn z. B. das zweite Bit von rechts ist 1, verfügt der Benutzer über die Berechtigung Schreiben .

Ausführen eines Vorgangs als Stellvertretung oder Benutzer eines freigegebenen Postfachs

Nachdem Sie festgestellt haben, dass sich das aktuelle E-Mail-Element in einem freigegebenen Ordner oder freigegebenen Postfach befindet, kann Ihr Add-In die erforderlichen Vorgänge für das Element in der freigegebenen Umgebung ausführen. Um Vorgänge für ein Element in einem freigegebenen Kontext auszuführen, müssen Sie zuerst die Berechtigung Ihres Add-Ins im Manifest konfigurieren. Verwenden Sie dann Microsoft Graph, um die Vorgänge abzuschließen.

Hinweis

Exchange-Webdienste (EWS) werden in Szenarien mit freigegebenen Ordnern und freigegebenen Postfächern nicht unterstützt.

Konfigurieren der Berechtigungen des Add-Ins

Um Microsoft Graph-Dienste verwenden zu können, muss ein Add-In die Lese-/Schreibberechtigung des Postfachs in seinem Manifest konfigurieren. Das Markup variiert je nach Art des Manifests, das ihr Add-In verwendet.

  • Einheitliches Manifest für Microsoft 365: Legen Sie die Eigenschaft "name" eines Objekts im Array "authorization.permissions.resourceSpecific" auf "Mailbox.ReadWrite.User" fest.
  • Nur Add-In-Manifest: Legen Sie das Permissions-Element auf ReadWriteMailbox fest.

Verwenden von Microsoft Graph

Verwenden Sie Microsoft Graph, um Szenarien für freigegebene Ordner und freigegebene Postfächer zu implementieren, um auf zusätzliche Postfachinformationen und -ressourcen zuzugreifen. Sie können beispielsweise Microsoft Graph verwenden, um den Inhalt einer Outlook-Nachricht abzurufen, die an eine Nachricht in einem Postfach angefügt ist, in dem ein Benutzer über Stellvertretungszugriff verfügt. Anleitungen zur Verwendung von Microsoft Graph finden Sie unter Übersicht über Microsoft Graph und die Outlook-Mail-API in Microsoft Graph.

Tipp

Verwenden Sie MSAL.js geschachtelte App-Authentifizierung (NAA), um über Ihr Add-In auf Microsoft Graph-APIs zuzugreifen. Weitere Informationen finden Sie unter Aktivieren des einmaligen Anmeldens in einem Office-Add-In mit geschachtelter App-Authentifizierung (Vorschau).

Begrenzungen

Abhängig von den Szenarien Ihres Add-Ins gibt es einige Einschränkungen, die Sie beim Behandeln von Situationen mit freigegebenen Ordnern oder freigegebenen Postfächern berücksichtigen sollten.

Nachrichtenmodus Compose

Im Nachrichtenmodus Compose wird getSharedPropertiesAsync in Outlook im Web oder unter Windows (neu und klassisch) nur unterstützt, wenn die folgenden Bedingungen erfüllt sind.

  • Delegieren des Zugriffs/Freigegebene Ordner

    1. Der Postfachbesitzer startet eine Nachricht. Dies kann eine neue Nachricht, eine Antwort oder eine Weiterleitung sein.
    2. Sie speichern die Nachricht und verschieben sie dann aus ihrem eigenen Ordner Entwürfe in einen Ordner, der für den Delegaten freigegeben ist.
    3. Der Delegat öffnet den Entwurf aus dem freigegebenen Ordner und setzt dann das Verfassen fort.
  • Freigegebenes Postfach (gilt nur für das klassische Outlook unter Windows)

    1. Ein Freigegebener Postfachbenutzer startet eine Nachricht. Dies kann eine neue Nachricht, eine Antwort oder eine Weiterleitung sein.
    2. Sie speichern die Nachricht und verschieben sie dann aus ihrem eigenen Ordner Entwürfe in einen Ordner im freigegebenen Postfach.
    3. Ein anderer Benutzer des freigegebenen Postfachs öffnet den Entwurf aus dem freigegebenen Postfach und setzt dann das Verfassen fort.

Sobald diese Bedingungen erfüllt sind, wird die Nachricht in einem freigegebenen Kontext verfügbar, und Add-Ins, die diese freigegebenen Szenarien unterstützen, können die freigegebenen Eigenschaften des Elements abrufen. Nachdem die Nachricht gesendet wurde, befindet sie sich in der Regel im Ordner Gesendete Elemente des persönlichen Postfachs des Absenders.

Benutzer oder freigegebenes Postfach, das in einer Adressliste ausgeblendet ist

Wenn ein Administrator einen Benutzer oder eine freigegebene Postfachadresse aus einer Adressliste wie der globalen Adressliste (GAL) ausgeblendet hat, wurden die im Postfachbericht Office.context.mailbox.item geöffneten E-Mail-Elemente als NULL angezeigt. Wenn der Benutzer beispielsweise ein E-Mail-Element in einem freigegebenen Postfach öffnet, das in der GAL ausgeblendet ist, Office.context.mailbox.item ist dieses E-Mail-Element NULL.

Synchronisierung zwischen Clients mit freigegebenen Ordnern

Die Aktualisierungen eines Delegaten für das Postfach des Besitzers werden in der Regel sofort postfachübergreifend synchronisiert. Wenn jedoch Microsoft Graph-Vorgänge zum Festlegen einer erweiterten Eigenschaft für ein Element verwendet wurden, kann die Synchronisierung solcher Änderungen einige Zeit in Anspruch nehmen. Um eine Verzögerung zu vermeiden, empfiehlt es sich, stattdessen das CustomProperties-Objekt und zugehörige APIs zu verwenden. Weitere Informationen finden Sie im Abschnitt "Benutzerdefinierte Daten pro Element in einem Postfach: benutzerdefinierte Eigenschaften" unter Abrufen und Festlegen von Metadaten in einem Outlook-Add-In.

Siehe auch