Office.Mailbox interface

Ermöglicht den Zugriff auf das Microsoft Outlook-Add-In-Objektmodell.

Wichtige Eigenschaften:

  • diagnostics : Stellt Diagnoseinformationen für ein Outlook-Add-In bereit.

  • item : Stellt Methoden und Eigenschaften für den Zugriff auf eine Nachricht oder einen Termin in einem Outlook-Add-In bereit.

  • userProfile : Stellt Informationen über den Benutzer in einem Outlook-Add-In bereit.

Hinweise

Mindestberechtigungsstufe: Eingeschränkt

Anwendbarer Outlook-Modus: Compose oder Lesen

Verwendet von

Beispiele

Office.onReady(() => {
    document.addEventListener('DOMContentLoaded', () => {
        // Get a reference to the mailbox and use it to add an event handler.
        const mailbox = Office.context.mailbox;
        mailbox.addHandlerAsync(Office.EventType.ItemChanged, loadNewItem, (result) => {
            if (result.status === Office.AsyncResultStatus.Failed) {
                // Handle error.
            }
        });
    });
});

function loadNewItem(eventArgs) {
    const item = Office.context.mailbox.item;

    // Check that item isn't null.
    if (item !== null) {
        // Work with item. For example, define and call a function that
        // loads the properties of the newly selected item.
        loadProps(item);
    }
}

Eigenschaften

diagnostics

Stellt einem Outlook-Add-In Diagnoseinformationen bereit.

Informationen zu den Diagnoseeigenschaften, auf die Sie zugreifen können, finden Sie unter Office.Diagnostics.

ewsUrl

Ruft die URL des EWS-Endpunkts (Exchange-Webdienste) für dieses E-Mail-Konto ab.

item

Das Postfachelement. Je nach Kontext, in dem das Add-In geöffnet wurde, kann der Elementtyp variieren. Wenn Sie IntelliSense nur für einen bestimmten Typ oder Modus anzeigen möchten, wandeln Sie dieses Element in einen der folgenden Werte um:

MessageCompose, MessageRead, AppointmentCompose, AppointmentRead

Wichtig:

userProfile

Informationen über den Benutzer, der dem Postfach zugeordnet ist. Dazu gehören der Kontotyp, der Anzeigename, die E-Mail-Adresse und die Zeitzone.

Weitere Informationen finden Sie unter Office.UserProfile

Methoden

convertToLocalClientTime(timeValue)

Ruft ein Wörterbuch mit Uhrzeitinformationen basierend auf der Zeiteinstellung des lokalen Clients ab.

Die vom Outlook-Client verwendete Zeitzone variiert je nach Plattform. Outlook unter Windows (klassisch) und auf dem Mac verwenden die Zeitzone des Clientcomputers. Outlook im Web und das neue Outlook unter Windows verwenden die im Exchange Admin Center (EAC) festgelegte Zeitzone. Sie sollten Datums- und Uhrzeitwerte bearbeiten, damit die auf der Benutzeroberfläche angezeigten Werte immer den von Benutzer erwarteten Zeitzonen entsprechen.

In Outlook unter Windows (klassisch) und auf Mac gibt die convertToLocalClientTime Methode ein Wörterbuchobjekt zurück, dessen Werte auf die Zeitzone des Clientcomputers festgelegt sind. In Outlook im Web und im neuen Outlook unter Windows gibt die convertToLocalClientTime Methode ein Wörterbuchobjekt zurück, dessen Werte auf die in der Domänenverwaltungskonsole angegebene Zeitzone festgelegt sind.

convertToUtcClientTime(input)

Ruft ein Date Objekt aus einem Wörterbuch ab, das Zeitinformationen enthält.

Die convertToUtcClientTime Methode konvertiert ein Wörterbuch, das ein lokales Datum und eine lokale Uhrzeit enthält, in ein Date Objekt mit den richtigen Werten für das lokale Datum und die lokale Uhrzeit.

displayAppointmentForm(itemId)

Zeigt einen bestehenden Kalendertermin an.

Die displayAppointmentForm Methode öffnet einen vorhandenen Kalendertermin in einem neuen Fenster auf dem Desktop.

In Outlook für Mac können Sie mit dieser Methode einen einzelnen Termin, der nicht Teil einer Serie ist, oder den Master-Termin einer Terminserie anzeigen. Sie können jedoch keine Instance der Serie anzeigen, da Sie nicht auf die Eigenschaften (einschließlich der Element-ID) von Instanzen einer wiederkehrenden Serie zugreifen können.

In Outlook im Web und im neuen Outlook unter Windows wird mit dieser Methode das angegebene Formular nur geöffnet, wenn der Textkörper des Formulars kleiner oder gleich 32K Zeichen ist.

Wenn der angegebene Elementbezeichner keinen vorhandenen Termin identifiziert, wird auf dem Clientcomputer oder -gerät ein leerer Bereich geöffnet, und es wird keine Fehlermeldung zurückgegeben.

displayMessageForm(itemId)

Zeigt eine vorhandene Nachricht an.

Die displayMessageForm Methode öffnet eine vorhandene Meldung in einem neuen Fenster auf dem Desktop.

In Outlook im Web und im neuen Outlook unter Windows wird mit dieser Methode das angegebene Formular nur geöffnet, wenn der Textkörper des Formulars kleiner oder gleich 32K Zeichen ist.

Wenn der angegebene Elementbezeichner keine vorhandene Nachricht identifiziert, wird keine Meldung auf dem Clientcomputer angezeigt, und es wird keine Fehlermeldung zurückgegeben.

displayNewAppointmentForm(parameters)

Zeigt ein Formular zum Erstellen eines neuen Kalendertermins an.

Mit der displayNewAppointmentForm-Methode wird ein Formular geöffnet, mit dem der Benutzer einen neuen Termin oder eine Besprechung erstellen kann. Wenn Parameter angegeben wurden, werden die Felder im Terminformular automatisch mit dem Inhalt der Parameter ausgefüllt.

In Outlook im Web und im neuen Outlook unter Windows wird mit dieser Methode immer ein Formular mit einem Teilnehmerfeld angezeigt. Wenn Sie keine Teilnehmer als Eingabeargumente angeben, zeigt die Methode ein Formular mit einer Schaltfläche " Speichern " an. Wenn Sie Teilnehmer angegeben haben, enthält das Formular die Teilnehmer und eine Schaltfläche Senden.

Wenn Sie in Outlook unter Windows (klassisch) und unter Mac Teilnehmer oder Ressourcen im requiredAttendeesParameter , optionalAttendeesoder resources angeben, zeigt diese Methode ein Besprechungsformular mit einer Schaltfläche "Senden " an. Wenn keine Teilnehmer angegeben werden, wird mit dieser Methode ein Terminformular mit der Schaltfläche Speichern & schließen angezeigt.

Wenn einer der Parameter die angegebenen Größenbeschränkungen überschreitet oder wenn ein unbekannter Parametername angegeben wird, wird eine Ausnahme ausgelöst.

getCallbackTokenAsync(callback, userContext)

Ruft eine Zeichenfolge ab, die einen Token enthält, der verwendet wird, um eine Anlage oder ein Element von einem Exchange Server abzurufen.

Die getCallbackTokenAsync-Methode führt einen asynchronen Aufruf zum Abruf eines nicht transparenten Tokens vom Exchange-Server aus, der das Postfach des Benutzers hostet. Die Gültigkeitsdauer des Rückruftokens beträgt 5 Minuten.

Das Token wird als Zeichenfolge in der asyncResult.value Eigenschaft zurückgegeben.

getIsIdentityManaged()

Gibt "true" zurück, wenn das aktuelle Postfach von Microsoft Intune verwaltet wird.

getIsOpenFromLocationAllowed(openLocation)

Gibt "true" zurück, wenn die Intune MAM-Richtlinie (Mobile Application Management) eines organization einem Add-In den Zugriff auf Daten vom angegebenen Speicherort gestattet.

getIsSaveToLocationAllowed(saveLocation)

Gibt "true" zurück, wenn die Intune-Richtlinie für die mobile Anwendungsverwaltung (Mobile Application Management, MAM) einer Organisation einem Add-In das Speichern von Daten am angegebenen Speicherort erlaubt.

getUserIdentityTokenAsync(callback, userContext)

Ruft ein Token ab, das den Benutzer und das Office-Add-In identifiziert.

Das Token wird als Zeichenfolge in der asyncResult.value Eigenschaft zurückgegeben.

makeEwsRequestAsync(data, callback, userContext)

Sendet eine asynchrone Anforderung an einen Exchange-Webdienstedienst (EWS) auf dem Exchange-Server, der das Postfach des Benutzers hostet.

Die makeEwsRequestAsync-Methode sendet eine EWS-Anforderung für das Add-In zu Exchange.

Details zur Eigenschaft

diagnostics

Stellt einem Outlook-Add-In Diagnoseinformationen bereit.

Informationen zu den Diagnoseeigenschaften, auf die Sie zugreifen können, finden Sie unter Office.Diagnostics.

diagnostics: Diagnostics;

Eigenschaftswert

Hinweise

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Ab Postfachanforderungssatz 1.5 können Sie auch die Office.context.Diagnose-Eigenschaft verwenden, um ähnliche Informationen zu erhalten.

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-diagnostic-information.yaml

// This function gets a mailbox's diagnostic information, such as Outlook client and version, and logs it to the console.
const diagnostics = Office.context.mailbox.diagnostics;
console.log(`Client application: ${diagnostics.hostName}`);
console.log(`Client version: ${diagnostics.hostVersion}`);

switch (diagnostics.OWAView) {
  case undefined:
    console.log("Current view (Outlook on the web only): Not applicable. An Outlook desktop client is in use.");
    break;
  case Office.MailboxEnums.OWAView.OneColumnNarrow:
    console.log("Current view (Outlook on the web only): Viewed from an older generation mobile phone");
    break;
  case Office.MailboxEnums.OWAView.OneColumn:
    console.log("Current view (Outlook on the web only): Viewed from a newer generation mobile phone");
    break;
  case Office.MailboxEnums.OWAView.TwoColumns:
    console.log("Current view (Outlook on the web only): Viewed from a tablet");
    break;
  case Office.MailboxEnums.OWAView.ThreeColumns:
    console.log("Current view (Outlook on the web only): Viewed from a desktop computer");
    break;
}

if (Office.context.requirements.isSetSupported("Mailbox", "1.16")) {
  const ewsTokenStatus = diagnostics.ews;
  ewsTokenStatus.getTokenStatusAsync({ isRest: false }, (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
      console.log(result.error.message);
      return;
    }

    const status = result.value;
    switch (status) {
      case Office.MailboxEnums.TokenStatus.Enabled:
        console.log("EWS token status: EWS callback tokens are enabled.");
        break;
      case Office.MailboxEnums.TokenStatus.Disabled:
        console.log("EWS token status: EWS callback tokens are disabled.");
        break;
      case Office.MailboxEnums.TokenStatus.Removed:
        console.log("EWS token status: The organization has an Exchange Online environment. Legacy Exchange tokens are no longer supported.");
        break;
    }
  });
}

ewsUrl

Ruft die URL des EWS-Endpunkts (Exchange-Webdienste) für dieses E-Mail-Konto ab.

ewsUrl: string;

Eigenschaftswert

string

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Wichtig:

  • Ihre App muss über die Berechtigung zum Lesen von Elementen verfügen, die im Manifest angegeben ist, um das ewsUrl Mitglied im Lesemodus aufrufen zu können.

  • Im Erstellungsmodus müssen Sie die saveAsync Methode aufrufen, bevor Sie den ewsUrl Member verwenden können. Ihre App muss über Lese-/Schreibberechtigungen verfügen, um die Methode aufzurufen saveAsync .

  • Diese Eigenschaft wird in Outlook unter Android oder iOS nicht unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

  • Der ewsUrl Wert kann von einem Remotedienst verwendet werden, um EWS-Aufrufe an das Postfach des Benutzers zu senden. Sie können beispielsweise einen Remotedienst erstellen, um Anlagen aus dem ausgewählten Element abzurufen.

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/ids-and-urls.yaml

// Get the EWS URL and EWS item ID.
console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
const ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

// Convert the EWS item ID to a REST-formatted ID.
const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

// Convert the REST-formatted ID back to an EWS-formatted ID.
const ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

item

Das Postfachelement. Je nach Kontext, in dem das Add-In geöffnet wurde, kann der Elementtyp variieren. Wenn Sie IntelliSense nur für einen bestimmten Typ oder Modus anzeigen möchten, wandeln Sie dieses Element in einen der folgenden Werte um:

MessageCompose, MessageRead, AppointmentCompose, AppointmentRead

Wichtig:

item?: Item & ItemCompose & ItemRead & Message & MessageCompose & MessageRead & Appointment & AppointmentCompose & AppointmentRead;

Eigenschaftswert

userProfile

Informationen über den Benutzer, der dem Postfach zugeordnet ist. Dazu gehören der Kontotyp, der Anzeigename, die E-Mail-Adresse und die Zeitzone.

Weitere Informationen finden Sie unter Office.UserProfile

userProfile: UserProfile;

Eigenschaftswert

Details zur Methode

convertToLocalClientTime(timeValue)

Ruft ein Wörterbuch mit Uhrzeitinformationen basierend auf der Zeiteinstellung des lokalen Clients ab.

Die vom Outlook-Client verwendete Zeitzone variiert je nach Plattform. Outlook unter Windows (klassisch) und auf dem Mac verwenden die Zeitzone des Clientcomputers. Outlook im Web und das neue Outlook unter Windows verwenden die im Exchange Admin Center (EAC) festgelegte Zeitzone. Sie sollten Datums- und Uhrzeitwerte bearbeiten, damit die auf der Benutzeroberfläche angezeigten Werte immer den von Benutzer erwarteten Zeitzonen entsprechen.

In Outlook unter Windows (klassisch) und auf Mac gibt die convertToLocalClientTime Methode ein Wörterbuchobjekt zurück, dessen Werte auf die Zeitzone des Clientcomputers festgelegt sind. In Outlook im Web und im neuen Outlook unter Windows gibt die convertToLocalClientTime Methode ein Wörterbuchobjekt zurück, dessen Werte auf die in der Domänenverwaltungskonsole angegebene Zeitzone festgelegt sind.

convertToLocalClientTime(timeValue: Date): LocalClientTime;

Parameter

timeValue

Date

Ein Date-Objekt.

Gibt zurück

Hinweise

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-start-read.yaml

const time = Office.context.mailbox.item.start;
const localTime = Office.context.mailbox.convertToLocalClientTime(time);
console.log(`Appointment starts (local): ${localTime.month + 1}/${localTime.date}/${localTime.year}, ${localTime.hours}:${localTime.minutes}:${localTime.seconds}`);

convertToUtcClientTime(input)

Ruft ein Date Objekt aus einem Wörterbuch ab, das Zeitinformationen enthält.

Die convertToUtcClientTime Methode konvertiert ein Wörterbuch, das ein lokales Datum und eine lokale Uhrzeit enthält, in ein Date Objekt mit den richtigen Werten für das lokale Datum und die lokale Uhrzeit.

convertToUtcClientTime(input: LocalClientTime): Date;

Parameter

input
Office.LocalClientTime

Der zu konvertierende Wert für die lokale Uhrzeit.

Gibt zurück

Date

Ein Date-Objekt der Uhrzeit in UTC.

Hinweise

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Beispiele

// Represents 3:37 PM PDT on Monday, August 26, 2019.
const input = {
    date: 26,
    hours: 15,
    milliseconds: 2,
    minutes: 37,
    month: 7,
    seconds: 2,
    timezoneOffset: -420,
    year: 2019
};

// result should be a Date object.
const result = Office.context.mailbox.convertToUtcClientTime(input);

// Output should be "2019-08-26T22:37:02.002Z".
console.log(result.toISOString());

displayAppointmentForm(itemId)

Zeigt einen bestehenden Kalendertermin an.

Die displayAppointmentForm Methode öffnet einen vorhandenen Kalendertermin in einem neuen Fenster auf dem Desktop.

In Outlook für Mac können Sie mit dieser Methode einen einzelnen Termin, der nicht Teil einer Serie ist, oder den Master-Termin einer Terminserie anzeigen. Sie können jedoch keine Instance der Serie anzeigen, da Sie nicht auf die Eigenschaften (einschließlich der Element-ID) von Instanzen einer wiederkehrenden Serie zugreifen können.

In Outlook im Web und im neuen Outlook unter Windows wird mit dieser Methode das angegebene Formular nur geöffnet, wenn der Textkörper des Formulars kleiner oder gleich 32K Zeichen ist.

Wenn der angegebene Elementbezeichner keinen vorhandenen Termin identifiziert, wird auf dem Clientcomputer oder -gerät ein leerer Bereich geöffnet, und es wird keine Fehlermeldung zurückgegeben.

displayAppointmentForm(itemId: string): void;

Parameter

itemId

string

Der EWS-Bezeichner (Exchange-Webdienste, Exchange-Webdienste) für einen vorhandenen Kalendertermin.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Wichtig: Diese Methode wird in Outlook auf Android oder iOS nicht unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-appointment.yaml

const itemId = (document.getElementById("itemId") as HTMLInputElement).value;
Office.context.mailbox.displayAppointmentForm(itemId);

displayMessageForm(itemId)

Zeigt eine vorhandene Nachricht an.

Die displayMessageForm Methode öffnet eine vorhandene Meldung in einem neuen Fenster auf dem Desktop.

In Outlook im Web und im neuen Outlook unter Windows wird mit dieser Methode das angegebene Formular nur geöffnet, wenn der Textkörper des Formulars kleiner oder gleich 32K Zeichen ist.

Wenn der angegebene Elementbezeichner keine vorhandene Nachricht identifiziert, wird keine Meldung auf dem Clientcomputer angezeigt, und es wird keine Fehlermeldung zurückgegeben.

displayMessageForm(itemId: string): void;

Parameter

itemId

string

Der Exchange-Webdienste (EWS) für eine vorhandene Nachricht.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Wichtig:

  • Diese Methode wird in Outlook auf Android oder iOS nicht unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

  • Verwenden Sie das displayMessageForm nicht mit einer itemId, die einen Termin darstellt. Verwenden Sie die displayAppointmentForm-Methode, um einen vorhandenen Termin anzuzeigen, und displayNewAppointmentForm, um ein Formular zum Erstellen eines neuen Termins anzuzeigen.

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-message.yaml

const itemId = (document.getElementById("itemId") as HTMLInputElement).value;
Office.context.mailbox.displayMessageForm(itemId);

displayNewAppointmentForm(parameters)

Zeigt ein Formular zum Erstellen eines neuen Kalendertermins an.

Mit der displayNewAppointmentForm-Methode wird ein Formular geöffnet, mit dem der Benutzer einen neuen Termin oder eine Besprechung erstellen kann. Wenn Parameter angegeben wurden, werden die Felder im Terminformular automatisch mit dem Inhalt der Parameter ausgefüllt.

In Outlook im Web und im neuen Outlook unter Windows wird mit dieser Methode immer ein Formular mit einem Teilnehmerfeld angezeigt. Wenn Sie keine Teilnehmer als Eingabeargumente angeben, zeigt die Methode ein Formular mit einer Schaltfläche " Speichern " an. Wenn Sie Teilnehmer angegeben haben, enthält das Formular die Teilnehmer und eine Schaltfläche Senden.

Wenn Sie in Outlook unter Windows (klassisch) und unter Mac Teilnehmer oder Ressourcen im requiredAttendeesParameter , optionalAttendeesoder resources angeben, zeigt diese Methode ein Besprechungsformular mit einer Schaltfläche "Senden " an. Wenn keine Teilnehmer angegeben werden, wird mit dieser Methode ein Terminformular mit der Schaltfläche Speichern & schließen angezeigt.

Wenn einer der Parameter die angegebenen Größenbeschränkungen überschreitet oder wenn ein unbekannter Parametername angegeben wird, wird eine Ausnahme ausgelöst.

displayNewAppointmentForm(parameters: AppointmentForm): void;

Parameter

parameters
Office.AppointmentForm

Eine AppointmentForm Beschreibung der neuen Ernennung. Alle Eigenschaften sind optional.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Lesen

Wichtig: Diese Methode wird in Outlook auf Android oder iOS nicht unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-appointment.yaml

const start = new Date();
const end = new Date();
end.setHours(start.getHours() + 1);

Office.context.mailbox.displayNewAppointmentForm({
  requiredAttendees: ["bob@contoso.com"] as any,
  optionalAttendees: ["sam@contoso.com"] as any,
  start: start,
  end: end,
  location: "Home",
  subject: "meeting",
  resources: ["projector@contoso.com"] as any,
  body: "Hello World!"
});

getCallbackTokenAsync(callback, userContext)

Ruft eine Zeichenfolge ab, die einen Token enthält, der verwendet wird, um eine Anlage oder ein Element von einem Exchange Server abzurufen.

Die getCallbackTokenAsync-Methode führt einen asynchronen Aufruf zum Abruf eines nicht transparenten Tokens vom Exchange-Server aus, der das Postfach des Benutzers hostet. Die Gültigkeitsdauer des Rückruftokens beträgt 5 Minuten.

Das Token wird als Zeichenfolge in der asyncResult.value Eigenschaft zurückgegeben.

getCallbackTokenAsync(callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;

Parameter

callback

(asyncResult: Office.AsyncResult<string>) => void

Wenn die Methode abgeschlossen ist, wird die im Rückrufparameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResult. Das Token wird als Zeichenfolge in der asyncResult.value Eigenschaft zurückgegeben. Wenn ein Fehler aufgetreten ist, können die Eigenschaften asyncResult.error und asyncResult.diagnostics weitere Informationen enthalten.

userContext

any

Optional. Jegliche Zustandsdaten, die an die asynchrone Methode übergeben werden.

Gibt zurück

void

Hinweise

API-Satz: Alle unterstützen den Lesemodus; Introduction Mailbox 1.3 Unterstützung des Modus "Compose"

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Wichtig:

  • Legacy-Benutzeridentitätstoken und Rückruftoken von Exchange Online werden nicht mehr unterstützt und sind für alle Microsoft 365-Mandanten deaktiviert. Wenn ein Outlook-Add-In einen delegierten Benutzerzugriff oder eine delegierte Benutzeridentität erfordert, empfehlen wir die Verwendung von MSAL (Microsoft Authentication Library (MSAL)) und der geschachtelten App-Authentifizierung (NAA). Exchange-Benutzeridentitätstoken werden für Exchange lokal weiterhin unterstützt.

  • Sie können sowohl das Token als auch einen Anlagenbezeichner oder Elementbezeichner an ein externes System übergeben. Dieses System verwendet das Token als Bearerautorisierungstoken, um den GetAttachment- oder GetItem-Vorgang der Exchange-Webdienste (EWS) aufzurufen, um eine Anlage oder ein Element zurückzugeben. Sie können beispielsweise einen Remotedienst erstellen, um Anlagen aus dem ausgewählten Element abzurufen.

  • Für das Aufrufen der getCallbackTokenAsync Methode im Lesemodus ist eine Mindestberechtigungsstufe von read item erforderlich.

  • Wenn Sie die getCallbackTokenAsync Methode im Kompositionsmodus aufrufen, müssen Sie das Element gespeichert haben. Die saveAsync Methode erfordert eine Mindestberechtigungsstufe von Lese-/Schreibelementen.

  • Diese Methode wird in Outlook auf Android oder iOS nicht unterstützt. EWS-Vorgänge werden in Add-Ins, die in Outlook auf mobilen Clients ausgeführt werden, nicht unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

  • Diese Methode wird nicht unterstützt, wenn Sie ein Add-In in ein Outlook.com- oder Gmail-Postfach laden.

  • Anleitungen zu Stellvertretungs- oder freigegebenen Szenarien finden Sie im Artikel zu freigegebenen Ordnern und freigegebenen Postfächern .

Fehler:

Wenn Ihr Aufruf fehlschlägt, verwenden Sie die Eigenschaft asyncResult.Diagnose, um Details zum Fehler anzuzeigen.

  • GenericTokenError: An internal error has occurred.- In Exchange Online-Umgebungen tritt dieser Fehler auf, wenn das Token nicht abgerufen werden kann, weil Legacy-Exchange-Token für Outlook-Add-Ins deaktiviert sind. Es wird empfohlen, NAA als Single-Sign-On-Lösung für Ihr Add-In zu verwenden.

  • HTTPRequestFailure: The request has failed. Please look at the diagnostics object for the HTTP error code.

  • InternalServerError: The Exchange server returned an error. Please look at the diagnostics object for more information.- In Exchange Online-Umgebungen tritt dieser Fehler auf, wenn das Token nicht abgerufen werden kann, weil Legacy-Exchange-Token für Outlook-Add-Ins deaktiviert sind. Es wird empfohlen, NAA als Single-Sign-On-Lösung für Ihr Add-In zu verwenden.

  • NetworkError: The user is no longer connected to the network. Please check your network connection and try again.

getIsIdentityManaged()

Gibt "true" zurück, wenn das aktuelle Postfach von Microsoft Intune verwaltet wird.

getIsIdentityManaged(): boolean;

Gibt zurück

boolean

"True", wenn das aktuelle Postfach von Microsoft Intune verwaltet wird.

Hinweise

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose, Read

Wichtig: Diese Methode wird nur in Outlook auf Android und iOS ab Version 4.2443.0.To unterstützt. Weitere Informationen zu APIs, die in Outlook auf Mobilgeräten unterstützt werden, finden Sie unter Outlook-JavaScript-APIs, die in Outlook auf Mobilgeräten unterstützt werden.

Fehler:

  • MAMServiceNotAvailable : Der Client kann die Richtlinie für die mobile Anwendungsverwaltung (Mobile Application Management, MAM) nicht abrufen.

Beispiele

// Checks if the mailbox is managed by Microsoft Intune.
const isIdentityManaged = Office.context.mailbox.getIsIdentityManaged();
console.log(`Intune-managed mailbox: ${isIdentityManaged}`);

getIsOpenFromLocationAllowed(openLocation)

Gibt "true" zurück, wenn die Intune MAM-Richtlinie (Mobile Application Management) eines organization einem Add-In den Zugriff auf Daten vom angegebenen Speicherort gestattet.

getIsOpenFromLocationAllowed(openLocation: MailboxEnums.OpenLocation): boolean;

Parameter

openLocation
Office.MailboxEnums.OpenLocation

Der Speicherort, von dem aus das Add-In versucht, auf Daten zuzugreifen.

Gibt zurück

boolean

"True", wenn die Intune MAM-Richtlinie einer Organisation einem Add-In den Zugriff auf Daten vom angegebenen Speicherort erlaubt.

Hinweise

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose, Read

Wichtig: Diese Methode wird nur in Outlook unter Android und iOS ab Version 4.2443.0 unterstützt. Weitere Informationen zu APIs, die in Outlook auf Mobilgeräten unterstützt werden, finden Sie unter Outlook-JavaScript-APIs, die in Outlook auf Mobilgeräten unterstützt werden.

Fehler:

  • InvalidOpenLocationInput : Der Wert des angegebenen Standorts ist ungültig.

  • MAMServiceNotAvailable : Der Client kann die MAM-Richtlinie nicht abrufen.

Beispiele

// Checks if the add-in can access data from the device's photo library.
const isOpenFromPhotoLibraryAllowed = Office.context.mailbox.getIsOpenFromLocationAllowed(Office.MailboxEnums.OpenLocation.PhotoLibrary);
if (isOpenFromPhotoLibraryAllowed) {
    console.log("Access to the photo library is allowed.");
    // Do something.
} else {
    console.log("Access to the photo library isn't allowed.");
}

getIsSaveToLocationAllowed(saveLocation)

Gibt "true" zurück, wenn die Intune-Richtlinie für die mobile Anwendungsverwaltung (Mobile Application Management, MAM) einer Organisation einem Add-In das Speichern von Daten am angegebenen Speicherort erlaubt.

getIsSaveToLocationAllowed(saveLocation: MailboxEnums.SaveLocation): boolean;

Parameter

saveLocation
Office.MailboxEnums.SaveLocation

Der Speicherort, an dem das Add-In versucht, Daten zu speichern.

Gibt zurück

boolean

"True", wenn die Intune MAM-Richtlinie einer organization einem Add-In das Speichern von Daten am angegebenen Speicherort erlaubt.

Hinweise

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose, Read

Wichtig: Diese Methode wird nur in Outlook unter Android und iOS ab Version 4.2443.0 unterstützt. Weitere Informationen zu APIs, die in Outlook auf Mobilgeräten unterstützt werden, finden Sie unter Outlook-JavaScript-APIs, die in Outlook auf Mobilgeräten unterstützt werden.

Fehler:

  • InvalidSaveLocationInput : Der Wert des angegebenen Standorts ist ungültig.

  • MAMServiceNotAvailable : Der Client kann die MAM-Richtlinie nicht abrufen.

Beispiele

// Checks if the add-in can save data to SharePoint.
const isSaveToSharePointAllowed = Office.context.mailbox.getIsSaveToLocationAllowed(Office.MailboxEnums.SaveLocation.SharePoint);
if (isSaveToSharePointAllowed) {
    console.log("Saving to SharePoint is allowed.");
    // Do something.
} else {
    console.log("Saving to SharePoint isn't allowed.");
}

getUserIdentityTokenAsync(callback, userContext)

Ruft ein Token ab, das den Benutzer und das Office-Add-In identifiziert.

Das Token wird als Zeichenfolge in der asyncResult.value Eigenschaft zurückgegeben.

getUserIdentityTokenAsync(callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;

Parameter

callback

(asyncResult: Office.AsyncResult<string>) => void

Wenn die Methode abgeschlossen ist, wird die im Rückrufparameter übergebene Funktion mit einem einzelnen Parameter vom Typ Office.AsyncResult. Das Token wird als Zeichenfolge in der asyncResult.value Eigenschaft zurückgegeben. Wenn ein Fehler aufgetreten ist, können die Eigenschaften asyncResult.error und asyncResult.diagnostics weitere Informationen enthalten.

userContext

any

Optional. Jegliche Zustandsdaten, die an die asynchrone Methode übergeben werden.

Gibt zurück

void

Hinweise

Mindestberechtigungsstufe: Element lesen

Anwendbarer Outlook-Modus: Compose oder Lesen

Wichtig:

Fehler:

Wenn Ihr Aufruf fehlschlägt, verwenden Sie die Eigenschaft asyncResult.Diagnose, um Details zum Fehler anzuzeigen.

  • GenericTokenError: An internal error has occurred.- In Exchange Online-Umgebungen tritt dieser Fehler auf, wenn das Token nicht abgerufen werden kann, weil Legacy-Exchange-Token für Outlook-Add-Ins deaktiviert sind. Es wird empfohlen, NAA als Single-Sign-On-Lösung für Ihr Add-In zu verwenden.

  • HTTPRequestFailure: The request has failed. Please look at the diagnostics object for the HTTP error code.

  • InternalServerError: The Exchange server returned an error. Please look at the diagnostics object for more information.- In Exchange Online-Umgebungen tritt dieser Fehler auf, wenn das Token nicht abgerufen werden kann, weil Legacy-Exchange-Token für Outlook-Add-Ins deaktiviert sind. Es wird empfohlen, NAA als Single-Sign-On-Lösung für Ihr Add-In zu verwenden.

  • NetworkError: The user is no longer connected to the network. Please check your network connection and try again.

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/user-identity-token.yaml

Office.context.mailbox.getUserIdentityTokenAsync((result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
        console.error(`Token retrieval failed with message: ${result.error.message}`)
        return;
    }

    console.log(result.value);
});

makeEwsRequestAsync(data, callback, userContext)

Sendet eine asynchrone Anforderung an einen Exchange-Webdienstedienst (EWS) auf dem Exchange-Server, der das Postfach des Benutzers hostet.

Die makeEwsRequestAsync-Methode sendet eine EWS-Anforderung für das Add-In zu Exchange.

makeEwsRequestAsync(data: any, callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;

Parameter

data

any

Die EWS-Anforderung.

callback

(asyncResult: Office.AsyncResult<string>) => void

Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter, , aufgerufen, asyncResultder ein Office.AsyncResult Objekt ist. Die XML-Antwort der EWS-Anforderung wird als Zeichenfolge in der asyncResult.value Eigenschaft bereitgestellt. In Outlook im Web, unter Windows (neu und klassisch (ab Version 2303, Build 16225.10000)) und auf Mac (ab Version 16.73 (23042601)) wird eine Fehlermeldung in der asyncResult.error Eigenschaft zurückgegeben, wenn die Antwort größer als 5 MB ist. In früheren Versionen von Outlook unter Windows (klassisch) und unter Mac wird eine Fehlermeldung zurückgegeben, wenn die Antwort größer als 1 MB ist.

userContext

any

Optional. Jegliche Zustandsdaten, die an die asynchrone Methode übergeben werden.

Gibt zurück

void

Hinweise

API-Satz: Postfach 1.1

Mindestberechtigungsstufe: Lese-/Schreibpostfach

Anwendbarer Outlook-Modus: Compose oder Lesen

Wichtig:

  • Legacy-Benutzeridentitätstoken und Rückruftoken von Exchange Online werden nicht mehr unterstützt und sind für alle Microsoft 365-Mandanten deaktiviert. Wenn ein Outlook-Add-In einen delegierten Benutzerzugriff oder eine delegierte Benutzeridentität erfordert, empfehlen wir die Verwendung von MSAL (Microsoft Authentication Library (MSAL)) und der geschachtelten App-Authentifizierung (NAA). Exchange-Benutzeridentitätstoken werden für Exchange lokal weiterhin unterstützt.

  • Um die makeEwsRequestAsync Methode für EWS-Anforderungen zu aktivieren, muss der Serveradministrator auf auf dem Clientzugriffsserver EWS-Verzeichnis festlegen OAuthAuthenticationtrue .

  • Ihr Add-In muss über die Lese-/Schreibberechtigung für das Postfach verfügen, um diese makeEwsRequestAsync Methode verwenden zu können. Informationen zur Verwendung der Lese- /Schreibpostfachberechtigung und der EWS-Vorgänge, die Sie mit der makeEwsRequestAsync Methode aufrufen können, finden Sie unter Angeben von Berechtigungen für den Mail-Add-In-Zugriff auf das Postfach des Benutzers.

  • Wenn Ihr Add-In auf mit Ordnern verknüpfte Elemente zugreifen muss oder seine XML-Anforderung die UTF-8-Codierung (\<?xml version="1.0" encoding="utf-8"?\>) angeben muss, muss es stattdessen Microsoft Graph oder REST-APIs verwenden, um auf das Postfach des Benutzers zuzugreifen.

  • Diese Methode wird in Outlook auf Android oder iOS nicht unterstützt. Weitere Informationen zu unterstützten APIs in Outlook Mobile finden Sie unter In Outlook auf Mobilgeräten unterstützte Outlook-JavaScript-APIs.

  • Diese Methode wird nicht unterstützt, wenn das Add-In in ein Gmail-Postfach geladen wird.

  • Wenn Sie die makeEwsRequestAsync Methode in Add-Ins verwenden, die in Outlook-Versionen vor Version 15.0.4535.1004 ausgeführt werden, müssen Sie den Codierungswert auf ISO-8859-1 (<?xml version="1.0" encoding="iso-8859-1"?>) festlegen. Verwenden Sie die mailbox.diagnostics.hostVersion Eigenschaft, um die Version eines Outlook-Clients zu ermitteln. Sie müssen den Codierungswert nicht festlegen, wenn Ihr Add-In in Outlook im Web oder im neuen Outlook unter Windows ausgeführt wird. Verwenden Sie die mailbox.diagnostics.hostName Eigenschaft, um den Outlook-Client zu ermitteln, auf dem das Add-In ausgeführt wird.

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/get-icaluid-as-attendee.yaml

const ewsId = Office.context.mailbox.item.itemId;
const request = `<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header><t:RequestServerVersion Version="Exchange2013" /></soap:Header>
      <soap:Body>
        <m:GetItem>
          <m:ItemShape>
            <t:BaseShape>AllProperties</t:BaseShape>
          </m:ItemShape >
          <m:ItemIds>
            <t:ItemId Id="${ewsId}" />
          </m:ItemIds>
        </m:GetItem>
      </soap:Body>
    </soap:Envelope>`;

Office.context.mailbox.makeEwsRequestAsync(request, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.error(result.error.message);
    return;
  }

  console.log(getUID(result.value));
});

...

const request = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
    '  <soap:Header><t:RequestServerVersion Version="Exchange2010" /></soap:Header>' +
    '  <soap:Body>' +
    '    <m:CreateItem MessageDisposition="SendAndSaveCopy">' +
    '      <m:SavedItemFolderId><t:DistinguishedFolderId Id="sentitems" /></m:SavedItemFolderId>' +
    '      <m:Items>' +
    '        <t:Message>' +
    '          <t:Subject>Hello, Outlook!</t:Subject>' +
    '          <t:Body BodyType="HTML">This message was sent from a ScriptLab code sample, used from ' + Office.context.mailbox.diagnostics.hostName + ', version ' + Office.context.mailbox.diagnostics.hostVersion + '!</t:Body>' +
    '          <t:ToRecipients>' +
    '            <t:Mailbox><t:EmailAddress>' + Office.context.mailbox.userProfile.emailAddress + '</t:EmailAddress></t:Mailbox>' +
    '          </t:ToRecipients>' +
    '        </t:Message>' +
    '      </m:Items>' +
    '    </m:CreateItem>' +
    '  </soap:Body>' +
    '</soap:Envelope>';

Office.context.mailbox.makeEwsRequestAsync(request, (result) => {
    if (result.status === Office.AsyncResultStatus.Failed) {
        console.log(`Failed to make EWS request: ${result.error.message}.`);
        return;
    }
    console.log(result.value);
});