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. |
| ews |
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:
|
| user |
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
| convert |
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 |
| convert |
Ruft ein Die |
| display |
Zeigt einen bestehenden Kalendertermin an. Die 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. |
| display |
Zeigt eine vorhandene Nachricht an. Die 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. |
| display |
Zeigt ein Formular zum Erstellen eines neuen Kalendertermins an. Mit der 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 Wenn einer der Parameter die angegebenen Größenbeschränkungen überschreitet oder wenn ein unbekannter Parametername angegeben wird, wird eine Ausnahme ausgelöst. |
| get |
Ruft eine Zeichenfolge ab, die einen Token enthält, der verwendet wird, um eine Anlage oder ein Element von einem Exchange Server abzurufen. Die Das Token wird als Zeichenfolge in der |
| get |
Gibt "true" zurück, wenn das aktuelle Postfach von Microsoft Intune verwaltet wird. |
| get |
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. |
| get |
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. |
| get |
Ruft ein Token ab, das den Benutzer und das Office-Add-In identifiziert. Das Token wird als Zeichenfolge in der |
| make |
Sendet eine asynchrone Anforderung an einen Exchange-Webdienstedienst (EWS) auf dem Exchange-Server, der das Postfach des Benutzers hostet. Die |
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
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
ewsUrlMitglied im Lesemodus aufrufen zu können.Im Erstellungsmodus müssen Sie die
saveAsyncMethode aufrufen, bevor Sie denewsUrlMember verwenden können. Ihre App muss über Lese-/Schreibberechtigungen verfügen, um die Methode aufzurufensaveAsync.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
ewsUrlWert 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:
Beachten Sie beim Aufrufen
Office.context.mailbox.itemeiner Nachricht, dass der Lesebereich im Outlook-Client aktiviert sein muss. Anleitungen zum Konfigurieren des Lesebereichs finden Sie unter Verwenden und Konfigurieren des Lesebereichs für die Vorschau von Nachrichten.itemkann NULL sein, wenn Ihr Add-In das Anheften des Aufgabenbereichs unterstützt. Ausführliche Informationen zur Handhabung finden Sie unter Implementieren eines anheftbaren Aufgabenbereichs in Outlook.
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
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
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
displayMessageFormnicht mit einer itemId, die einen Termin darstellt. Verwenden Sie diedisplayAppointmentForm-Methode, um einen vorhandenen Termin anzuzeigen, unddisplayNewAppointmentForm, 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
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
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
getCallbackTokenAsyncMethode im Lesemodus ist eine Mindestberechtigungsstufe von read item erforderlich.Wenn Sie die
getCallbackTokenAsyncMethode im Kompositionsmodus aufrufen, müssen Sie das Element gespeichert haben. DiesaveAsyncMethode 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:
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.
Die
getUserIdentityTokenAsyncMethode gibt ein Token zurück, mit dem Sie das Add-In und den Benutzer bei einem externen System identifizieren und authentifizieren können.Diese Methode wird nicht unterstützt, wenn Sie ein Add-In in ein Outlook.com- oder Gmail-Postfach laden.
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
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
makeEwsRequestAsyncMethode für EWS-Anforderungen zu aktivieren, muss der Serveradministrator auf auf dem Clientzugriffsserver EWS-Verzeichnis festlegenOAuthAuthenticationtrue.Ihr Add-In muss über die Lese-/Schreibberechtigung für das Postfach verfügen, um diese
makeEwsRequestAsyncMethode verwenden zu können. Informationen zur Verwendung der Lese- /Schreibpostfachberechtigung und der EWS-Vorgänge, die Sie mit dermakeEwsRequestAsyncMethode 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
makeEwsRequestAsyncMethode 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 diemailbox.diagnostics.hostVersionEigenschaft, 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 diemailbox.diagnostics.hostNameEigenschaft, 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);
});