Office 365 Datenerweiterungs-REST-API-Verweis (Version 2.0)
Gilt für: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Die Office 365-Datenerweiterungen-REST-API ermöglicht es Apps, benutzerdefinierte Daten in einer Nachricht, einem Ereignis oder einem Kontakt des Benutzerkontos dynamisch zu speichern. Das Konto kann sich in Office 365 oder in einem Microsoft-Konto (Hotmail.com, Live.com, MSN.com, Outlook.com und Passport.com) befinden.
Hinweis
Zur Vereinfachung des Verweises verwendet der Rest dieses Artikels Outlook.com, um diese Microsoft-Kontodomänen einzuschließen.
Kein Interesse an v2.0 der API? Wechseln Sie im Inhaltsverzeichnis auf der linken Seite zu Office 365 REST API-Verweis und wählen Sie die gewünschte Version aus.
Übersicht
Eine Datenerweiterung in der Outlook-REST-API ist ein offener OData v4-Typ, der Eigenschaften enthält, die Sie zur Laufzeit angeben können. Sie können die Datenerweiterungen-API verwenden, um eine Instanz eines bereits im Entity Data Model (EDM) definierten Entitätstyps zu erweiter - nämlich eine Nachricht, ein Ereignis oder einen Kontakt - durch dynamische Angabe benutzerdefinierter Eigenschaften und Werte in einer JSON-Nutzlast. Dies macht die Definition solcher Entitätstypen flexibler und erspart Ihnen Zeit, neue Entitätstypen nur für diesen Zweck zu definieren.
Die Eigenschaft ExtensionName ist die einzige Eigenschaft, die für alle Erweiterungen definiert ist. Um sicherzustellen, dass Erweiterungsnamen eindeutig sind, können Sie ein umgekehrtes DNS-Format (Domain Name System) verwenden, das z. B. von Ihrer eigenen DomäneCom.Contoso.Contact
, abhängig ist. Verwenden Sie in einem Erweiterungsnamen auf keinen Fall die Microsoft-Domäne.
Da eine Erweiterung ein offener Typ ist, können Sie zusätzliche Daten spezifisch für eine Instanz einer Entität angeben. Sie können beispielsweise eine Erweiterung für einzelne Geschäftskontakte erstellen, die benutzerdefinierte Daten wie den Firmennamen und den erstmaligen Referrer verfolgt und die Daten in der JSON-Nutzlast wie folgt angeben:
POST https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/extensions
{
@odata.type: "Microsoft.OutlookServices.OpenTypeExtension",
"ExtensionName": "Com.Contoso.Customer",
"CompanyName": "Alpine Skis",
"InitialReferrer": "Robin McCall"
}
Sie können die Datenerweiterungs-API verwenden, um CRUD-Operationen in einer neuen oder bestehenden Ressource durchzuführen. Lesen Sie mehr über die unterstützten Operationen.
Weitere Informationen zu OData open type finden Sie in der OData v4-Dokumentation auf OData.org.
Verwendung der Datenerweiterungen-REST-API
Datenerweiterungen oder erweiterte Eigenschaften?
Datenerweiterungen sind die empfohlene Lösung für die meisten Szenarien, bei denen es um die Speicherung und den Zugriff auf benutzerdefinierte Daten geht. Wenn Sie jedoch auf benutzerdefinierte Daten für Outlook MAPI-Eigenschaften zugreifen müssen, die nicht bereits über die Outlook REST-API-Metadaten verfügbar sind, können Sie erweiterte Eigenschaften und deren REST-APIverwenden. Sie können überprüfen, welche Eigenschaften die Metadaten bei https://outlook.office.com/api/{version}/$metadata anzeigen, indem Sie {version} durch v2.0, beta, etc. ersetzen.
Authentifizierung
Wie andere Outlook-REST-API sollten Sie für jede Anforderung an die Datenerweiterungen-REST-API ein gültiges Zugriffstoken einschließen. Sie müssen Ihre App registriert und identifiziert haben und die entsprechende Autorisierung erhalten haben, um ein Zugriffstoken abzurufen.
Sie können mehr über einige optimierte Registrierungs- und Autorisierungsoptionen für Sie herausfinden. Beachten Sie dies, wenn Sie mit den spezifischen Operationen in der Datenerweiterungen-REST-API fortfahren.
Unterstützte REST-Ressourcen
Sie können Erweiterungen für Instanzen der folgenden Ressourcen im Outlook-REST-Endpunkt erstellen:
Version der API
Diese API wurde von der Vorschauversion auf den Status Allgemeine Verfügbarkeit (GA) befördert. Es wird in den Versionen v2.0 und beta unterstützt:
https://outlook.office.com/api/v2.0/
https://outlook.office.com/api/beta/
URL-Parameter
Die Beispiele in diesem Artikel verwenden die folgenden ID-Platzhalter in den Parametern für REST-Anforderungs-URLs. Sie müssen die ID der Instanz der Ressource angeben, für die Sie eine Erweiterung anlegen wollen.
Parameter | Typ | Beschreibung |
---|---|---|
URL-Parameter | ||
contact_id | Zeichenfolge | Die Kontakt-ID. |
event_id | Zeichenfolge | Die Ereignis-ID. |
message_id | Zeichenfolge | Die Nachrichten-ID. |
Siehe Verwendung der Outlook-REST-API für weitere Informationen, die allen Untergruppen der Outlook-REST-API und der Office 365 Datenerweiterungen-REST-API gemeinsam sind.
Erweiterungsoperationen
- Erweiterung in einem bestehenden Eintrag anlegen
- Erweiterung in einem neuen Eintrag anlegen
- Abrufen einer Erweiterung
- Element mit Erweiterung abrufen
- Suchen und Erweitern von Objekten mit einer Erweiterung
- Hinzufügen oder Ändern von Daten in einer Erweiterung
- Eine Erweiterung löschen
Erweiterung in einem bestehenden Element anlegen
Erstellen einer Erweiterung und Hinzufügen benutzerdefinierter Eigenschaften für die angegebene Instanz einer Ressource. Die Ressource kann eine Nachricht, ein Kalenderereignis oder ein Kontakt in Office 365 oder Outlook.com sein. Die Daten in der JSON-Nutzlast können primitive Typen oder Arrays von primitiven Typen sein.
Um eine Erweiterung für jede der unterstützten Ressourcen zu erstellen:
POST https://outlook.office.com/api/v2.0/me/messages('{message_id}')/extensions
POST https://outlook.office.com/api/v2.0/me/events('{event_id}')/extensions
POST https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/extensions
Minimal benötigter Bereich
Einer der folgenden Lese- / Schreibbereiche für die Zielressource:
- https://outlook.office.com/mail.readwrite
- https://outlook.office.com/calendars.readwrite
- https://outlook.office.com/contacts.readwrite
- wl.imap
- wl.calendars_aktualisieren
- wl.events_erstellen
- wl.contacts_create
Parameter | Typ | Beschreibung |
---|---|---|
Textparameter | ||
ExtensionName | Zeichenfolge | Eine eindeutige Textidentifizierung für eine Erweiterung. Erforderlich. |
Beispielanfrage
Dieses Beispiel erzeugt eine Erweiterung für die angegebene Nachricht. Der Anforderungstext enthält folgendes für die Erweiterung:
- Der Typ
Microsoft.OutlookServices.OpenTypeExtension
, der in den Outlook-REST-API-Metadaten als OData-Open-Typ definiert ist. - Den Erweiterungsnamen „Com.Contoso.Referral“
- Zusätzliche Daten, die als benutzerdefinierte Eigenschaften in der JSON-Nutzlast gespeichert werden sollen:
CompanyName
,DealValue
undExpirationDate
die primitive Typen enthalten undTopModels
undTopSalespersons
, die Arrays von primitiven Typen enthalten.
POST https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
Content-Type: application/json
{
"@odata.type" : "Microsoft.OutlookServices.OpenTypeExtension",
"ExtensionName" : "Com.Contoso.Referral",
"CompanyName" : "Wingtip Toys",
"DealValue@odata.type": "#Int64",
"DealValue" : 500050,
"ExpirationDate" : "2015-12-03T10:00:00.000Z",
"TopModels": [
3001,
4002,
5003
],
"TopSalespersons": [
"Dana Swope",
"Fanny Downs",
"Randi Welch"
]
}
Beispielantwort
Eine erfolgreiche Antwort wird mit einemHTTP 201 Created
Antwortcode angegeben.
Der Antworttext enthält folgendes für die neue Erweiterung:
- Die Standardeigenschaft ExtensionName.
- Die Eigenschaft Id mit dem vollqualifizierten Namen
Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral
. - Die benutzerdefinierten Daten, die gespeichert werden sollen
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/Extensions/$entity",
"@odata.type": "#Microsoft.OutlookServices.OpenTypeExtension",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"ExtensionName": "Com.Contoso.Referral",
"Id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"CompanyName": "Wingtip Toys",
"DealValue@odata.type": "#Int64",
"DealValue": 500050,
"ExpirationDate": "2015-12-03T10:00:00.000Z",
"TopModels@odata.type": "#Collection(Int32)",
"TopModels": [
3001,
4002,
5003
],
"TopSalespersons@odata.type": "#Collection(String)",
"TopSalespersons": [
"Dana Swope",
"Fanny Downs",
"Randi Welch"
]
}
Erstellen einer Erweiterung in einem neuen Eintrag
Erstellen Sie eine oder mehrere Erweiterungen beim Erstellen einer neuen Instanz einer Ressource, alle im selben POST-Aufruf, und fügen Sie der Erweiterung benutzerdefinierte Eigenschaften hinzu. Die Ressource kann eine Nachricht, ein Kalenderereignis oder ein Kontakt in Office 365 oder Outlook.com sein. Die Daten in der JSON-Nutzlast können primitive Typen oder Arrays von primitiven Typen sein.
Um eine Erweiterung für jede der unterstützten Ressourcen zu erstellen, führen Sie einen POST-Aufruf durch, ähnlich dem Erstellen dieser Ressource, und fügen Sie eine Erweiterung in den Text der POST-Anfrage ein.
POST https://outlook.office.com/api/v2.0/me/messages
POST https://outlook.office.com/api/v2.0/me/events
POST https://outlook.office.com/api/v2.0/me/contacts
Minimal benötigter Bereich
Einer der folgenden Lese- / Schreibbereiche für die Zielressource:
- https://outlook.office.com/mail.readwrite
- https://outlook.office.com/calendars.readwrite
- https://outlook.office.com/contacts.readwrite
- wl.imap
- wl.calendars_aktualisieren
- wl.events_erstellen
- wl.contacts_create
Parameter | Typ | Beschreibung |
---|---|---|
Textparameter | ||
ExtensionName | Zeichenfolge | Eine eindeutige Textidentifizierung für eine Erweiterung. Erforderlich. |
Beispielanfrage
Dieses Beispiel erzeugt eine Nachricht und eine Erweiterung im selben Aufruf. Der Anfragetext umfasst Folgendes:
- Die für eine neue Nachricht typischen Eigenschaften subject, body und toRecipients.
- Daneben die folgenden Parameter der Erweiterung:
- Der Typ
Microsoft.OutlookServices.OpenTypeExtension
, der in den Outlook-REST-API-Metadaten als OData-Open-Typ definiert ist. - Den Erweiterungsnamen „Com.Contoso.Referral“
- Zusätzliche Daten, die als benutzerdefinierte Eigenschaften in der JSON-Nutzlast gespeichert werden sollen:
CompanyName
,ExpirationDate
undDealValue
die primitive Typen enthalten undTopModels
undTopSalespersons
, die Arrays von primitiven Typen enthalten.
- Der Typ
POST https://outlook.office.com/api/v2.0/me/messages
Content-Type: application/json
{
"Subject": "Annual review",
"Body": {
"ContentType": "HTML",
"Content": "You should be proud!"
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "rufus@contoso.com"
}
}
],
"Extensions": [
{
"@odata.type": "Microsoft.OutlookServices.OpenTypeExtension",
"ExtensionName": "Com.Contoso.Referral",
"CompanyName": "Wingtip Toys",
"ExpirationDate": "2015-12-30T11:00:00.000Z",
"DealValue": 10000,
"TopModels": [
3001,
4002,
5003
],
"TopSalespersons": [
"Dana Swope",
"Fanny Downs",
"Randi Welch"
]
}
]
}
Beispielantwort
Eine erfolgreiche Antwort wird mit einemHTTP 201 Created
Antwortcode angegeben.
Der Antworttext enthält die Eigenschaften der neuen Nachricht und die folgenden für die neue Erweiterung:
- Die Eigenschaft Id mit dem vollqualifizierten Namen
Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral
. - Die in der Anforderung angegebene Standardeigenschaft ExtensionName.
- Die in der Anforderung angegebenen benutzerdefinierten Daten, gespeichert als benutzerdefinierte Eigenschaften.
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfc984d-b826-40d7-b48b-57002df800e5@1717f226-49d1-4d0c-9d74-709fad664b77')/Messages
('AAMkAGEbs88AAB84uLuAAA=')",
"@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AAB88LOj\"",
"Id": "AAMkAGEbs88AAB84uLuAAA=",
"CreatedDateTime": "2015-10-30T03:03:43Z",
"LastModifiedDateTime": "2015-10-30T03:03:43Z",
"ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AAB88LOj",
"Categories": [ ],
"ReceivedDateTime": "2015-10-30T03:03:43Z",
"SentDateTime": "2015-10-30T03:03:43Z",
"HasAttachments": false,
"Subject": "Annual review",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r
\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nYou should be proud!\r\n</body>\r
\n</html>\r\n"
},
"BodyPreview": "You should be proud!",
"Importance": "Normal",
"ParentFolderId": "AQMkAGEwAAAIBDwAAAA==",
"Sender": null,
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Address": "rufus@contoso.com",
"Name": "John Doe"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkAGEFGugh3SVdMzzc=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?
ItemID=AAMkAGEbs88AAB84uLuAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"MentionedMe": null,
"Mentioned": [ ],
"InferenceClassification": "Focused",
"Extensions@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages
('AAMkAGEbs88AAB84uLuAAA%3D')/Extensions",
"Extensions": [
{
"@odata.type": "#Microsoft.OutlookServices.OpenTypeExtension",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfc984d-b826-40d7-b48b-57002df800e5@1717f226-49d1-4d0c-9d74-709fad664b77')/Messages
('AAMkAGEbs88AAB84uLuAAA=')/extensions('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"Id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"ExtensionName": "Com.Contoso.Referral",
"CompanyName": "Wingtip Toys",
"ExpirationDate": "2015-12-30T11:00:00.000Z",
"DealValue": 10000,
"TopModels@odata.type": "#Collection(Int32)",
"TopModels": [
3001,
4002,
5003
],
"TopSalespersons@odata.type": "#Collection(String)",
"TopSalespersons": [
"Dana Swope",
"Fanny Downs",
"Randi Welch"
]
}
]
}
Erweiterung abrufen
Rufen Sie eine Erweiterung nach Name oder ID innerhalb der angegebenen Instanz einer Ressource ab. Die Ressource kann eine Nachricht, ein Kalenderereignis oder ein Kontakt in Office 365 oder Outlook.com sein.
Das Abrufen der Erweiterung nach Name oder ID gibt den gleichen Antworttext zurück.
GET https://outlook.office.com/api/v2.0/me/messages('{message_id}')/extensions('{extensionId}')
GET https://outlook.office.com/api/v2.0/me/events('{event_id}')/extensions('{extensionId}')
GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/extensions('{extensionId}')
Minimal benötigter Bereich
Einer der folgenden Lese- / Schreibbereiche für die Zielressource:
- https://outlook.office.com/mail.read
- https://outlook.office.com/calendars.read
- https://outlook.office.com/contacts.read
- wl.imap
- wl.calendars
- wl.contacts_calendars
- wl.basic
Parameter | Typ | Beschreibung |
---|---|---|
URL-Parameter | ||
extensionId | Zeichenfolge | Dies kann ein Erweiterungsname sein, der ein unter allen Erweiterungen einer Ressourceninstanz eindeutiger Textbezeichner ist, oder ein vollqualifizierter Name, der den Erweiterungstyp und die eindeutige Textkennung verkettet. Der vollqualifizierte Name wird in der Id-Eigenschaft zurückgegeben, wenn Sie die Erweiterung erstellen. Erforderlich. |
Beispielanfrage
Das erste Beispiel referenziert eine Erweiterung über ihren Namen und ruft die Erweiterung in der angegebenen Nachricht ab.
GET https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions('Com.Contoso.Referral')
Das zweite Beispiel referenziert eine Erweiterung über ihre ID (vollqualifizierter Name) und ruft die Erweiterung in der angegebenen Nachricht ab.
GET https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')
Beispielantwort
Eine erfolgreiche Antwort wird mit einemHTTP 200 OK
Antwortcode angegeben.
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/Extensions/$entity",
"@odata.type": "#Microsoft.OutlookServices.OpenTypeExtension",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"ExtensionName": "Com.Contoso.Referral",
"Id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"CompanyName": "Wingtip Toys",
"DealValue": 500050,
"ExpirationDate": "2015-12-03T10:00:00Z"
}
Element mit Erweiterung abrufen
Ruft eine Instanz einer Ressource ab, die mit der Erweiterung erweitert wurde, die durch einen Filter auf der Id
angegeben ist. Die Ressource kann eine Nachricht, ein Kalenderereignis oder ein Kontakt in Office 365 oder Outlook.com sein.
Sie können auf der Id
nach dem Erweiterungsnamen oder dem vollqualifizierten Namen filtern und dann die Instanz wie unten gezeigt mit der Erweiterung erweitern lassen. Stellen Sie sicher, dass Sie für die Leerzeichen in der Filter-Zeichenfolge die URL-Codierung verwenden.
GET https://outlook.office.com/api/v2.0/me/messages('{message_id}')?$expand=Extensions($filter=Id eq '{extensionId}')
GET https://outlook.office.com/api/v2.0/me/events('{event_id}')?$expand=Extensions($filter=Id eq '{extensionId}')
GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')?$expand=Extensions($filter=Id eq '{extensionId}')
Minimal benötigter Bereich
Einer der folgenden Lese- / Schreibbereiche für die Zielressource:
- https://outlook.office.com/mail.read
- https://outlook.office.com/calendars.read
- https://outlook.office.com/contacts.read
- wl.imap
- wl.calendars
- wl.contacts_calendars
- wl.basic
Parameter | Typ | Beschreibung |
---|---|---|
URL-Parameter | ||
extensionId | Zeichenfolge | Dies kann ein Erweiterungsname sein, der ein unter allen Erweiterungen einer Ressourceninstanz eindeutiger Textbezeichner ist, oder ein vollqualifizierter Name, der den Erweiterungstyp und die eindeutige Textkennung verkettet. Der vollqualifizierte Name wird in der Id-Eigenschaft zurückgegeben, wenn Sie die Erweiterung erstellen. Erforderlich. |
Beispielanfrage
Das folgende Beispiel ruft die angegebene Nachricht ab und erweitert sie, indem es die von einem Filter zurückgegebene Erweiterung einbezieht. Der Filter gibt die Erweiterung zurück, deren Id
einem vollqualifizierten Namen entspricht.
Um es Ihnen einfacher zu machen wird die Anfrage unten mit URL-Codierung des reservierten Zeichens, dem Leerzeichen, angezeigt.
GET https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')?$expand=Extensions($filter=Id%20eq%20'Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')
Beispielantwort
Eine erfolgreiche Antwort wird mit einemHTTP 200 OK
Antwortcode angegeben.
Der Antworttext enthält alle Eigenschaften der angegebenen Nachricht und die vom Filter zurückgegebene erweiterte Eigenschaft.
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')",
"@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AABNsWMM\"",
"Id": "AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===",
"ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AABNsWMM",
"Categories": [
],
"CreateDateTime": "2015-06-19T02:03:31Z",
"LastModifiedDateTime": "2015-08-13T02:28:00Z",
"Subject": "Attached is the requested info",
"BodyPreview": "See the images attached.",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<style type=\"text/css\" style=\"display:none;\"><!-- P {margin-top:0;margin-bottom:0;} --></style>\r\n</head>\r\n<body dir=\"ltr\">\r\n<div id=\"divtagdefaultwrapper\" style=\"font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;\">\r\n<p>See the images attached. <br>\r\n</p>\r\n</div>\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": true,
"ParentFolderId": "AQMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===QAAAA==",
"From": {
"EmailAddress": {
"Address": "desmond@contoso.com",
"Name": "Desmond Raley"
}
},
"Sender": {
"EmailAddress": {
"Address": "desmond@contoso.com",
"Name": "Desmond Raley"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "wendy@contoso.com",
"Name": "Wendy Molina"
}
}
],
"CcRecipients": [
],
"BccRecipients": [
],
"ReplyTo": [
],
"ConversationId": "AAQkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===mivdTmQ=",
"ReceivedDateTime": "2015-06-19T02:05:04Z",
"SentDateTime": "2015-06-19T02:04:59Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===%2FNJTqt5NqHlVnKVBwCY4MQpaFz9SbqUDe4%2Bbs88AAAAAAEJAACY4MQpaFz9SbqUDe4%2Bbs88AAApA4JMAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"MentionedMe": null,
"Mentioned": [
],
"InferenceClassification": "Focused",
"Extensions@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Users('desmond40contoso.com')/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/Extensions",
"Extensions": [
{
"@odata.type": "#Microsoft.OutlookServices.OpenTypeExtension",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"ExtensionName": "Com.Contoso.Referral",
"Id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"CompanyName": "Wingtip Toys",
"DealValue": 500050,
"ExpirationDate": "2015-12-03T10:00:00Z"
}
]
}
Suchen und Erweitern von Objekten mit einer Erweiterung
Sie können Instanzen einer Ressource finden, die eine Erweiterung enthalten, die zu einem Filter passt. Zusätzlich können Sie in der gleichen Abfrage diese Instanzen mit der Erweiterung erweitern. Die Abfragen in diesem Abschnitt finden solche Fälle, erweitern sie und nehmen die Erweiterung in die Antwort auf.
Die Ressource kann eine Nachricht, ein Kalenderereignis oder ein Kontakt in Office 365 oder Outlook.com sein.
Sie können auf der Id
nach dem Erweiterungsnamen oder dem vollqualifizierten Namen filtern und dann die Instanz wie unten gezeigt mit der Erweiterung erweitern lassen. Stellen Sie sicher, dass Sie für die Leerzeichen in der Filter-Zeichenfolge die URL-Codierung verwenden.
GET https://outlook.office.com/api/v2.0/me/messages?$filter=Extensions/any(f:f/Id eq '{extensionId}')&$expand=Extensions($filter=Id eq '{extensionId}')
GET https://outlook.office.com/api/v2.0/me/events?$filter=Extensions/any(f:f/Id eq '{extensionId}')&$expand=Extensions($filter=Id eq '{extensionId}')
GET https://outlook.office.com/api/v2.0/me/contacts?$filter=Extensions/any(f:f/Id eq '{extensionId}')&$expand=Extensions($filter=Id eq '{extensionId}')
Minimal benötigter Bereich
Einer der folgenden Lese- / Schreibbereiche für die Zielressource:
- https://outlook.office.com/mail.read
- https://outlook.office.com/calendars.read
- https://outlook.office.com/contacts.read
- wl.imap
- wl.calendars
- wl.contacts_calendars
- wl.basic
Parameter | Typ | Beschreibung |
---|---|---|
URL-Parameter | ||
extensionId | Zeichenfolge | Dies kann ein Erweiterungsname sein, der ein unter allen Erweiterungen einer Ressourceninstanz eindeutiger Textbezeichner ist, oder ein vollqualifizierter Name, der den Erweiterungstyp und die eindeutige Textkennung verkettet. Der vollqualifizierte Name wird in der Id-Eigenschaft zurückgegeben, wenn Sie die Erweiterung erstellen. Erforderlich. |
Beispielanfrage
Das folgende Beispiel durchsucht alle Nachrichten im Postfach des angemeldeten Benutzers, um diejenigen zu finden, die eine Erweiterung enthalten, die einem Filter entspricht und erweitert sie um die Erweiterung. Der Filter gibt Erweiterungen zurück, bei denen die Id
mit dem Namen der Erweiterung Com.Contoso.Referral
übereinstimmen.
Um es Ihnen einfacher zu machen wird die Anfrage unten mit URL-Codierung des reservierten Zeichens, dem Leerzeichen, angezeigt.
GET https://outlook.office.com/api/v2.0/me/messages?$filter=Extensions/any(f:f/Id%20eq%20'Com.Contoso.Referral')&$expand=Extensions($filter=Id%20eq%20'Com.Contoso.Referral')
Beispielantwort
Eine erfolgreiche Antwort wird mit einemHTTP 200 OK
Antwortcode angegeben.
Der Antworttext enthält alle Nachrichten, die eine passende Erweiterung haben, sowie alle Nachrichten-Eigenschaften. In diesem Beispiel enthält die Antwort zwei Nachrichten.
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.EventMessage",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Messages('AAMkADIyDREAAA=')",
"@odata.etag": "W/\"DAAAABYAAACGYzsRv+OAR5zyXf6CQkRrAAADJ9tn\"",
"Id": "AAMkADIyDREAAA=",
"CreatedDateTime": "2016-01-06T02:20:17Z",
"LastModifiedDateTime": "2016-01-13T02:13:54Z",
"ChangeKey": "DAAAABYAAACGYzsRv+OAR5zyXf6CQkRrAAADJ9tn",
"Categories": [
],
"ReceivedDateTime": "2016-01-06T02:20:18Z",
"SentDateTime": "2016-01-06T02:20:18Z",
"HasAttachments": false,
"InternetMessageId": "<BY1PR19MB0023E92E0B43F5E268406F0DF5F40@BY1PR19MB0023.namprd19.prod.outlook.com>",
"Subject": "Accepted: Latin American Product Manual Group",
"Body": {
"ContentType": "Text",
"Content": ""
},
"BodyPreview": "",
"Importance": "Normal",
"ParentFolderId": "AAMkADIyAAAAEJAAA=",
"Sender": {
"EmailAddress": {
"Name": "MOD Administrator",
"Address": "admin@adatumltd.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "MOD Administrator",
"Address": "admin@adatumltd.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Engineering",
"Address": "engineering@adatumltd.onmicrosoft.com"
}
}
],
"CcRecipients": [
],
"BccRecipients": [
],
"ReplyTo": [
],
"ConversationId": "AAQkADIyWejUoYAg=",
"IsDeliveryReceiptRequested": null,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": false,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADIyDREAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "Focused",
"UnsubscribeData": [
],
"UnsubscribeEnabled": false,
"MeetingMessageType": "MeetingAccepted",
"StartDateTime": {
"DateTime": "2015-01-05T19:00:00.0000000",
"TimeZone": "UTC"
},
"EndDateTime": {
"DateTime": "2015-01-05T20:30:00.0000000",
"TimeZone": "UTC"
},
"Location": {
"DisplayName": "Mt. Adams"
},
"Type": "SeriesMaster",
"Recurrence": {
"Pattern": {
"Type": "RelativeMonthly",
"Interval": 2,
"Month": 0,
"DayOfMonth": 0,
"DaysOfWeek": [
"Monday"
],
"FirstDayOfWeek": "Sunday",
"Index": "First"
},
"Range": {
"Type": "NoEnd",
"StartDate": "2015-01-05",
"EndDate": "0001-01-01",
"RecurrenceTimeZone": "tzone://Microsoft/Utc",
"NumberOfOccurrences": 0
}
},
"IsOutOfDate": false,
"Extensions@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkADIyDREAAA%3D')/Extensions",
"Extensions": [
{
"@odata.type": "#Microsoft.OutlookServices.OpenTypeExtension",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Messages('AAMkADIyDREAAA=')/Extensions('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"Id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"ExtensionName": "Com.Contoso.Referral",
"CompanyName": "Wingtip Toys",
"DealValue@odata.type": "#Int64",
"DealValue": 500300,
"ExpirationDate": "2015-12-03T10:00:00.000Z"
}
],
"Event@odata.associationLink": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Events('AAMkADIyAAAAABrdAAA=')/$ref",
"Event@odata.navigationLink": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Events('AAMkADIyAAAAABrdAAA=')"
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Messages('AAMkADIyAHVAAA=')",
"@odata.etag": "W/\"CQAAABYAAACGYzsRv+OAR5zyXf6CQkRrAAADJ6aq\"",
"Id": "AAMkADIyAHVAAA=",
"CreatedDateTime": "2016-01-06T02:20:02Z",
"LastModifiedDateTime": "2016-01-13T02:24:50Z",
"ChangeKey": "CQAAABYAAACGYzsRv+OAR5zyXf6CQkRrAAADJ6aq",
"Categories": [
],
"ReceivedDateTime": "2016-01-06T02:20:02Z",
"SentDateTime": "2016-01-06T02:20:01Z",
"HasAttachments": false,
"InternetMessageId": "<CY1PR19MB0032531C620A46068FDDD45DE3F40@CY1PR19MB0032.namprd19.prod.outlook.com>",
"Subject": "International Launch Planning for XT2000",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nWe will be ready to ship XT 2000 on 10/1, how's the International launch plan going?<br>\r\n<div style=\"display:inline-block\">\r\n<table border=\"0\" cellspacing=\"0\" style=\"background-color:#F4F4F4\">\r\n<tbody>\r\n<tr>\r\n<td style=\"padding:20px; font-size:12px; color:#666666\">You're receiving this message because you're a subscribed member of the Engineering group.<br>\r\n<a href=\"https://outlook.office.com/owa/engineering@adatumltd.onmicrosoft.com/groupsubscription.ashx?realm=adatumltd.onmicrosoft.com&action=conversations&source=EscalatedMessage\">View group conversations</a> |\r\n<a href=\"https://adatumltd.sharepoint.com/_layouts/groupstatus.aspx?id=dbcbe107-6244-40ba-b0f1-1c46ad35435d&target=documents\">\r\nView group files</a> | <a id=\"BD5134C6-8D33-4ABA-A0C4-08581FDF89DB\" href=\"https://outlook.office.com/owa/engineering@adatumltd.onmicrosoft.com/groupsubscription.ashx?realm=adatumltd.onmicrosoft.com&action=unsubscribe&source=EscalatedMessage\">\r\nUnsubscribe</a></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</div>\r\n</body>\r\n</html>\r\n"
},
"BodyPreview": "We will be ready to ship XT 2000 on 10/1, how's the International launch plan going?\r\nYou're receiving this message because you're a subscribed member of the Engineering group.\r\nView group conversations | View group files | Unsubscribe",
"Importance": "Normal",
"ParentFolderId": "AAMkADIyAAAEMAAA=",
"Sender": {
"EmailAddress": {
"Name": "Engineering",
"Address": "engineering@adatumltd.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Garret Vargas",
"Address": "GarretV@adatumltd.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Engineering",
"Address": "engineering@adatumltd.onmicrosoft.com"
}
}
],
"CcRecipients": [
],
"BccRecipients": [
],
"ReplyTo": [
],
"ConversationId": "AAQkADIyLESZnSPc=",
"IsDeliveryReceiptRequested": null,
"IsReadReceiptRequested": false,
"IsRead": false,
"IsDraft": false,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADIyAHVAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "Focused",
"UnsubscribeData": [
],
"UnsubscribeEnabled": false,
"Extensions@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkADIyAHVAAA%3D')/Extensions",
"Extensions": [
{
"@odata.type": "#Microsoft.OutlookServices.OpenTypeExtension",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Messages('AAMkADIyAHVAAA=')/Extensions('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"Id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"ExtensionName": "Com.Contoso.Referral",
"CompanyName": "Wingtip Toys",
"DealValue@odata.type": "#Int64",
"DealValue": 500050,
"ExpirationDate": "2015-12-03T10:00:00.000Z"
}
]
}
]
}
Hinzufügen oder Ändern von Daten in einer Erweiterung
Aktualisieren Sie eine Erweiterung mit den Eigenschaften im Anforderungstext:
- Wenn eine Eigenschaft im Anforderungsheader mit dem Name einer vorhandenen Eigenschaft in der Erweiterung übereinstimmt, werden die Daten in die Erweiterung aktualisiert.
- Andernfalls werden die Eigenschaft und die entsprechenden Daten zur Erweiterung hinzugefügt.
Die Erweiterung befindet sich in einer Ressource, die eine Nachricht, ein Kalenderereignis oder ein Kontakt in Office 365 oder Outlook.com sein kann. Sie kann über Name oder ID referenziert werden und gibt in beiden Fällen die gleiche Antwort zurück. Die Daten in der JSON-Nutzlast können primitive Typen oder Arrays von primitiven Typen sein.
PATCH https://outlook.office.com/api/v2.0/me/messages('{message_id}')/extensions('{extensionId}')
PATCH https://outlook.office.com/api/v2.0/me/events('{event_id}')/extensions('{extensionId}')
PATCH https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/extensions('{extensionId}')
Minimal benötigter Bereich
Einer der folgenden Lese- / Schreibbereiche für die Zielressource:
- https://outlook.office.com/mail.readwrite
- https://outlook.office.com/calendars.readwrite
- https://outlook.office.com/contacts.readwrite
- wl.imap
- wl.calendars_aktualisieren
- wl.events_erstellen
- wl.contacts_create
Parameter | Typ | Beschreibung |
---|---|---|
URL-Parameter | ||
extensionId | Zeichenfolge | Dies kann ein Erweiterungsname sein, der ein unter allen Erweiterungen einer Ressourceninstanz eindeutiger Textbezeichner ist, oder ein vollqualifizierter Name, der den Erweiterungstyp und die eindeutige Textkennung verkettet. Der vollqualifizierte Name wird in der Id-Eigenschaft zurückgegeben, wenn Sie die Erweiterung erstellen. Erforderlich. |
Textparameter | ||
ExtensionName | Zeichenfolge | Eine eindeutige Textidentifizierung für eine Erweiterung. Erforderlich. |
Beispielanfrage
Jedes der beiden Beispiele in diesem Abschnitt verwendet die Erweiterung im GET-Erweiterungsbeispiel oben. Das erste referenziert die Erweiterung über den Namen, das zweite über die ID. Ihre Anforderungs- und Antworttexte sind die gleichen.
Jedes Beispiel aktualisiert die Erweiterung oben mit:
- Durch Ändern des
CompanyName
vonWingtip Toys
zuWingtip Toys (USA)
- Durch Ändern des
DealValue
von500050
zu500100
- |||UNTRANSLATED_CONTENT_START|||Adding new data as the custom property|||UNTRANSLATED_CONTENT_END|||
Updated
Dieses Beispiel referenziert die Erweiterung über ihren Namen:
PATCH https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/Extensions('Com.Contoso.Referral')
Content-Type: application/json
{
"@odata.type": "Microsoft.OutlookServices.OpenTypeExtension",
"ExtensionName": "Com.Contoso.Referral",
"CompanyName": "Wingtip Toys (USA)",
"DealValue": "500100",
"ExpirationDate": "2015-12-03T10:00:00.000Z",
"Updated": "2015-10-29T11:00:00.000Z"
}
Dieses Beispiel referenziert die Erweiterung über ihre ID (vollqualifizierter Name):
PATCH https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/Extensions('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')
Content-Type: application/json
{
"@odata.type": "Microsoft.OutlookServices.OpenTypeExtension",
"ExtensionName": "Com.Contoso.Referral",
"CompanyName": "Wingtip Toys (USA)",
"DealValue": "500100",
"ExpirationDate": "2015-12-03T10:00:00.000Z",
"Updated": "2015-10-29T11:00:00.000Z"
}
Beispielantwort
Eine erfolgreiche Antwort wird durch einen HTTP 200 OK
Antwortcode und die aktualisierte Erweiterung im Antworttext angezeigt.
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/Extensions/$entity",
"@odata.type": "#Microsoft.OutlookServices.OpenTypeExtension",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/Messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"Id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"ExtensionName": "Com.Contoso.Referral",
"CompanyName": "Wingtip Toys (USA)",
"DealValue": 500100,
"ExpirationDate": "2015-12-03T10:00:00Z",
"Updated": "2015-10-29T11:00:00.000Z"
}
Eine Erweiterung löschen
Löschen einer Erweiterung aus der angegebenen Instanz einer Ressource. Die Ressource kann eine Nachricht, ein Kalenderereignis oder ein Kontakt in Office 365 oder Outlook.com sein.
Um eine Erweiterung in einer Instanz jeder der unterstützten Ressourcen zu löschen:
DELETE https://outlook.office.com/api/v2.0/me/messages('{message_id}')/extensions('{extension_name}')
DELETE https://outlook.office.com/api/v2.0/me/events('{event_id}')/extensions('{extension_name}')
DELETE https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/extensions('{extension_name}')
Minimal benötigter Bereich
Einer der folgenden Lese- / Schreibbereiche für die Zielressource:
- https://outlook.office.com/mail.readwrite
- https://outlook.office.com/calendars.readwrite
- https://outlook.office.com/contacts.readwrite
- wl.imap
- wl.calendars_aktualisieren
- wl.events_erstellen
- wl.contacts_create
Parameter | Typ | Beschreibung |
---|---|---|
URL-Parameter | ||
extension_name | Zeichenfolge | Eine eindeutige Textidentifizierung für eine Erweiterung. Erforderlich. |
Beispielanfrage
Das folgende Beispiel referenziert eine Erweiterung über ihren Namen und löscht die Erweiterung in der angegebenen Nachricht.
DELETE https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions('Com.Contoso.Referral')
Beispielantwort
Eine erfolgreiche Antwort wird mit einemHTTP 204 No Content
Antwortcode angegeben.
Erweiterungsentitäten
Erweiterung
Typ: Microsoft.OutlookServices.Entity
Eine abstrakte Entität mit der Entität Entität als Basistyp.
OpenTypeExtension
Typ: Microsoft.OutlookServices.Erweiterung
Ein abstrakter, offener OData v4-Typ, der die dynamische Angabe von Eigenschaften und Daten in einer JSON-Nutzlast unterstützt, um eine Instanz eines Entitätstyps zu aktualisieren.
Eigenschaft | Typ | Beschreibung | Beschreibbar? | Filterbar? |
---|---|---|---|---|
ExtensionName | Zeichenfolge | Eindeutiger Erweiterungsname. Verwenden Sie ein umgekehrtes Domänennamen-System, das auf Ihrer eigenen Domain basiert, z.B. Com.Contoso.Contact. | Ja | Nein |
Nächste Schritte
Egal, ob Sie bereit sind, eine App zu erstellen oder einfach nur mehr darüber erfahren möchten, wir haben alles im Griff.
- Beginnen Sie mit den E-Mail-, Kalender- und Kontakte-REST-APIs.
- Möchten Sie Beispiele sehen? Wir haben sie.
Oder erfahren Sie mehr über die Verwendung der Office 365-Plattform:
- Outlook-REST-API im Outlook-Dev-Center
- Überblick über die Entwicklung auf der Office 365-Plattform
- Office 365 App-Authentifizierung und Ressourcen-Autorisierung
- Registrieren Sie Ihre Anwendung manuell bei Azure AD, damit sie auf Office 365-APIs zugreifen kann
- E-Mail-REST-API-Verweis
- Kalender-REST-API-Verweis
- Kontakte-REST-API-Verweis
- Aufgaben-REST-API (Vorschauversion)
- Ressourcenverweis für die REST-APIs E-Mail, Kalender, Kontakte und Aufgaben