Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Outlook-REST-API v2.0-Endpunkte sind veraltet. Verwenden Sie für die Entwicklung neuer Add-Ins stattdessen die Microsoft Graph-REST-API . In diesem Artikel wird der REST-API-Ansatz für vorhandene Add-Ins behandelt, die noch nicht zu Microsoft Graph migriert wurden.
Abrufen eines Zugriffstokens
Wichtig
Legacy-Exchange Online Benutzeridentitätstoken und Rückruftoken werden nicht mehr unterstützt und für alle Microsoft 365-Mandanten deaktiviert. Wenn ein Outlook-Add-In delegierten Benutzerzugriff oder eine Benutzeridentität erfordert, empfehlen wir die Verwendung von MSAL (Microsoft Authentication Library (MSAL)) und geschachtelter App-Authentifizierung. Exchange-Benutzeridentitätstoken werden für lokale Exchange-Instanzen weiterhin unterstützt.
Die Outlook-REST-APIs erfordern ein Bearertoken im Authorization-Header. In der Regel verwenden Sie OAuth2-Flüsse zum Abrufen eines Tokens. Add-Ins können jedoch ein Token abrufen, ohne OAuth2 zu implementieren, indem sie die neue Office.context.mailbox.getCallbackTokenAsync-Methode verwenden, die im Postfachanforderungssatz 1.5 eingeführt wurde.
Durch Festlegen der isRest-Option auf true können Sie ein Token anfordern, das mit den REST-APIs kompatibel ist.
Add-In-Berechtigungen und Tokenumfang
Es ist wichtig, die Zugriffsebene zu berücksichtigen, die das Add-In über die REST-APIs benötigt. In den meisten Fällen stellt das über getCallbackTokenAsync zurückgegebene Token nur schreibgeschützten Zugriff auf das aktuelle Element bereit. Dies gilt auch, wenn Ihr Add-In die Berechtigungsstufe für Das Lesen/Schreiben von Elementen im Manifest angibt.
Wenn Ihr Add-In Schreibzugriff auf das aktuelle Element oder andere Elemente im Postfach des Benutzers benötigt, muss Ihr Add-In die Lese-/Schreibberechtigungsstufe des Postfachs in seinem Manifest angeben. In diesem Fall enthält das zurückgegebene Token Lese-/Schreibzugriff auf Nachrichten, Ereignisse und Kontakte des Benutzers.
Beispiel
Office.context.mailbox.getCallbackTokenAsync({isRest: true}, function(result){
if (result.status === "succeeded") {
const accessToken = result.value;
// Use the access token.
getCurrentItem(accessToken);
} else {
// Handle the error.
}
});
Abrufen der Element-ID
Um das aktuelle Element über REST abzurufen, benötigt das Add-In die ordnungsgemäß für REST formatierte Element-ID. Dies wird von der itemId -Eigenschaft (MessageRead, AppointmentRead) abgerufen, aber es sollten einige Überprüfungen durchgeführt werden, um sicherzustellen, dass es sich um eine REST-formatierte ID handelt.
- In Outlook auf mobilen Geräten ist der von
Office.context.mailbox.item.itemIdzurückgegebene Wert eine REST-formatierte ID und kann unverändert verwendet werden. - In anderen Outlook-Clients ist der von
Office.context.mailbox.item.itemIdzurückgegebene Wert eine ID im EWS-Format und muss erst mithilfe der Office.context.mailbox.convertToRestId-Methode konvertiert werden. - Beachten Sie, dass Sie auch die Anlagen-ID in eine REST-formatierte ID konvertieren müssen, um diese zu verwenden. Die IDs müssen konvertiert werden, weil EWS-IDs sichere Nicht-URL-Werte enthalten können, die Probleme für REST verursachen.
Das Add-In kann bestimmen, welcher Outlook-Client geladen wird, indem die Office.context.mailbox.diagnostics.hostName-Eigenschaft überprüft wird.
Beispiel
function getItemRestId() {
if (Office.context.mailbox.diagnostics.hostName === 'OutlookIOS') {
// itemId is already REST-formatted.
return Office.context.mailbox.item.itemId;
} else {
// Convert to an item ID for API v2.0.
return Office.context.mailbox.convertToRestId(
Office.context.mailbox.item.itemId,
Office.MailboxEnums.RestVersion.v2_0
);
}
}
Abrufen der REST-API-URL
Die letzte Angaben, die das Add-In zum Aufrufen der REST-API benötigt, ist der Hostname, der zum Senden von API-Anforderungen verwendet werden soll. Diese Informationen sind in der Office.context.mailbox.restUrl-Eigenschaft enthalten.
Beispiel
// Example: https://outlook.office.com
const restHost = Office.context.mailbox.restUrl;
Aufrufen der API
Sobald das Add-In über das Zugriffstoken, die Element-ID und die REST-API-URL verfügt, kann es diese Informationen entweder an einen Back-End-Dienst übergeben, der die REST-API aufruft, oder sie direkt mithilfe von AJAX verwenden. Im folgenden Beispiel wird die Outlook-E-Mail-REST-API aufgerufen, um die aktuelle Nachricht abzurufen.
Wichtig
Bei lokalen Exchange-Bereitstellungen schlagen clientseitige Anforderungen mit AJAX oder ähnlichen Bibliotheken fehl, da CORS in diesem Serversetup nicht unterstützt wird.
function getCurrentItem(accessToken) {
// Get the item's REST ID.
const itemId = getItemRestId();
// Construct the REST URL to the current item.
// Details for formatting the URL can be found at
// https://learn.microsoft.com/previous-versions/office/office-365-api/api/version-2.0/mail-rest-operations#get-messages.
const getMessageUrl = Office.context.mailbox.restUrl +
'/v2.0/me/messages/' + itemId;
$.ajax({
url: getMessageUrl,
dataType: 'json',
headers: { 'Authorization': 'Bearer ' + accessToken }
}).done(function(item){
// Message is passed in `item`.
const subject = item.Subject;
...
}).fail(function(error){
// Handle error.
});
}
Siehe auch
Office Add-ins