Freigeben über


Outlook-Kalender REST-API-Referenz (Beta)

Gilt für: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

Hinweis

Diese Dokumentation behandelt die API für Besprechungsräume, mehrere Veranstaltungsorte, Kalenderfreigabe, Weiterleitung und Absage von Ereignissen, die sich in der Vorschau befinden. Die Funktionen der Vorschauversion können vor der Fertigstellung geändert werden und können den Code, der sie verwendet, unterbrechen. Aus diesem Grund sollten Sie in der Regel nur eine Produktionsversion einer API in Ihrem Produktionscode verwenden. Falls vorhanden, ist v2.0 derzeit die bevorzugte Version.

Die Kalender-API bietet Zugriff auf Ereignisse, Kalender und Kalendergruppendaten, die durch Azure Active Directory auf Office 365 gesichert sind, sowie auf ähnliche Daten in Microsoft-Konten speziell in diesen Domänen: Hotmail.com, Live.com, MSN.com, Outlook.com und Passport.com.

Hinweis

  • Die Ausnahme ist die API zu Besprechungszeiten finden, die nur für Office 365-Postfächer (auf Azure AD) und nicht für Microsoft-Konten gilt.
  • Zur Vereinfachung des Verweises verwendet der Rest dieses Artikels Outlook.com, um diese Microsoft-Kontodomänen einzuschließen.

Sie interessieren sich nicht für die Beta-Version 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.

Alle Kalender-API-Operationen

Ereignisvorgänge

Ein Ereignis stellt einen Termin oder eine Besprechung im Kalender des Benutzers dar. Ein Ereignis kann ein Serienmaster (für wiederkehrende Ereignisse), ein Ereignis, eine einzelne Instanz oder eine Ausnahme sein.

Kalender-Vorgänge

Ein Kalender dient als Container für Ereignisse. Ein Benutzer kann mehrere Kalender haben. In Office 365 kann jeder Kalender einer Kalendergruppe zugeordnet werden.

Kalendergruppen-Vorgänge

Kalendergruppen bieten eine Möglichkeit, mehrere Kalender zu organisieren. Benutzer können mehrere Kalender zu einer einzigen Kalendergruppe in Outlook oder Outlook Web-App hinzufügen. Dies erleichtert den Benutzern die schnelle Anzeige aller Kalender innerhalb der Gruppe.

Hinweis

Outlook.com unterstützt nur die Standardkalendergruppe, die über die Verknüpfung ../me/calendars erreichbar ist. Sie können diese Kalendergruppe nicht löschen oder eine andere Kalendergruppe anlegen.

Siehe auch

Verwendung der Kalender-REST-API

Authentifizierung

Wie andere Outlook-REST-API, sollten Sie für jede Anfrage an die Kontakte-API ein gültiges Zugriffstoken angeben. Um ein Zugriffstoken zu erhalten, müssen Sie sich registriert und Ihre App identifiziert und die entsprechende Autorisierung erhalten haben.

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 Kalender-API fortfahren.

Zugriffsbereiche auf gemeinsame Kalender

Office 365- und Outlook.com-Kalender unterstützen die gemeinsame Nutzung. Ein Benutzer, der einen Kalender erstellt hat, kann den Kalender für andere Benutzer freigeben. Die folgenden Bereiche sind erforderlich, um auf einen Kalender zuzugreifen, der für diesen Benutzer freigegeben wurde:

  • Für Lesezugriff: https://outlook.office.com/calendars.read.shared
  • Für Lese-/Schreibzugriff: https://outlook.office.com/calendars.readwrite.shared

Version der API

Die Kalender-REST-API wird in allen Versionen der Outlook REST API unterstützt. Die Funktionalität kann je nach spezifischer Version unterschiedlich sein.

Ziel-Benutzer

Die Kalender-API-Anforderungen werden immer im Namen des aktuellen Benutzers ausgeführt.

Weitere Informationen, die allen Untergruppen von Outlook-REST-API gemeinsam sind, finden Sie unter Outlook-REST-API verwenden.

Ereignisse abrufen

Eine Ereignis-Sammlung oder ein Ereignis abrufen.

Ein Ereignistext kann sowohl im Text als auch im HTML-Format vorliegen.

Sie können den Prefer: outlook.body-content-type Header verwenden, um das gewünschte Format in der Eigenschaft Body in einer GET-Anfrage anzugeben:

  • Geben Sie Prefer: outlook.body-content-type="text" an, um einen Ereignistext im Textformat zu erhalten.
  • Geben Sie Prefer: outlook.body-content-type="html" an, oder überspringen Sie einfach den Header, um den Ereignistext im HTML-Format zurückzugeben.

Wenn Sie einen der beiden Header angeben, enthält die Antwort den entsprechenden Preference-Applied Header als Bestätigung:

  • Für Textformat-Anforderungen: Preference-Applied: outlook.body-content-type="text"
  • Für Anforderungen im HTML-Format: Preference-Applied: outlook.body-content-type="html"

Alle Operationen, die Kalenderereignisse erhalten, können den HTTP-Header Prefer: outlook.timezone verwenden, um die Zeitzone für Start- und Endzeiten in der Antwort anzugeben. Mit dem folgenden Header Prefer: outlook.timezone werden zum Beispiel die Anfangs- und Endzeiten in der Antwort auf EST festgelegt.

Prefer: outlook.timezone="Eastern Standard Time"

Wenn Sie den Header Prefer: outlook.timezone nicht angeben, werden die Start- und Endzeiten in der Antwort in UTC zurückgegeben.

Sie können die Eigenschaften OriginalStartTimeZone- und OriginalEndTimeZone für die Ressource Event verwenden, um die beim Erstellen des Ereignisses verwendete Zeitzone abzurufen.

Eine Kalenderansicht abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Dient zum Abrufen der Vorkommen, Ausnahmen und einzelnen Instanzen von Ereignissen in einer Kalenderansicht, die durch einen Zeitbereich definiert werden, aus dem Hauptkalender (../me/calendarview) des Benutzers oder aus einem anderen Kalender.

GET https://outlook.office.com/api/beta/me/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Erforderliche Parameter Typ Beschreibung
Header-Parameter
Bevorzugt: outlook.timezone Die Standardzeitzone für Ereignisse in der Antwort.
URL-Parameter
calendar_id Zeichenfolge Die Kalender-ID, wenn Sie eine Kalenderansicht von einem bestimmten Kalender erhalten.
start_datetime datetimeoffset Das Datum und die Uhrzeit für den Beginn des Ereignisses.
end_datetime datetimeoffset Das Datum und die Uhrzeit für das Ende des Ereignisses.

Verwenden Sie den Header Prefer: outlook.timezone, um die Zeitzone anzugeben, die für die Start- und Endzeiten des Ereignisses in der Antwort verwendet werden soll. Wurde das Ereignis in einer anderen Zeitzone erzeugt, werden die Start- und Endzeiten an die angegebene Zeitzone angepasst.

Weitere Informationen finden sich in dieser Liste für die unterstützten Zeitzonennamen. Wenn der Header Prefer: outlook.timezone nicht angegeben ist, werden die Start- und Endzeiten in UTC zurückgegeben.

Hinweis

Standardmäßig umfasst jedes Ereignis in der Antwort alle seine Eigenschaften. Verwenden Sie $select, um nur die Eigenschaften anzugeben, die Sie für die beste Leistung benötigen. Die ID-Eigenschaft wird immer zurückgegeben. Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Rufen Sie beispielsweise die Kalenderansicht für den Monat Oktober ab und geben Sie nur die Betreff-Eigenschaft für jedes Ereignis zurück. Angenommen, der Header Prefer: outlook.timezone ist nicht in der Anfrage enthalten, ist die Zeitzone UTC.

GET https://outlook.office.com/api/beta/me/calendarview?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject

Antworttyp

Die erweiterten Ereignisse im angegebenen Zeitbereich.

Serienmaster und Einzelereignisse abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Rufen Sie eine Sammlung von Serienmaster- und Einzelinstanzereignissen aus dem Hauptkalender des Benutzers (../me/events) oder aus einem anderen Kalender. Um erweiterte Ereignisinstanzen abzurufen, können Sie die Kalenderansicht abrufen oder die Instanzen eines Ereignisses abrufen.

GET https://outlook.office.com/api/beta/me/events
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}/events
Erforderliche Parameter Typ Beschreibung
_Header-Parameter
Bevorzugt: outlook.timezone Die Standardzeitzone für Ereignisse in der Antwort.
URL-Parameter
calendar_id Zeichenfolge Die Kalender-ID, wenn Sie Ereignisse aus einem bestimmten Kalender erhalten.

Verwenden Sie den Header Prefer: outlook.timezone, um die Zeitzone anzugeben, die für die Start- und Endzeiten des Ereignisses in der Antwort verwendet werden soll. Wurde das Ereignis in einer anderen Zeitzone erzeugt, werden die Start- und Endzeiten an die angegebene Zeitzone angepasst.

Weitere Informationen finden sich in dieser Liste für die unterstützten Zeitzonennamen. Wenn der Header Prefer: outlook.timezone nicht angegeben ist, werden die Start- und Endzeiten in UTC zurückgegeben.

Hinweis

Jedes Ereignis umfasst in der Antwort alle seine Eigenschaften. Verwenden Sie $select, um nur die Eigenschaften anzugeben, die Sie für die beste Leistung benötigen. Die ID-Eigenschaft wird immer zurückgegeben. Siehe nächstes Beispiel. Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Das folgende Beispiel zeigt, wie man $select verwendet, um nur die Eigenschaften Subject, Organizer, Start und End jedes Ereignisses in der Antwort anzugeben. Siehe die erste Beispielantwort in Ein Ereignis abrufen (REST) für eine vollständige Liste der Eigenschaften, die für ein Ereignis zurückgegeben würden, wenn Sie nicht $select verwenden.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/events?$select=Subject,Organizer,Start,End,Location,Locations 

Beispielantwort

Statuscode: 200

{
    "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Events(Subject,Organizer,Start,End,Location,Locations)",
    "value":[
        {
            "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNWAACYBXsvAAA=')",
            "@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==\"",
            "Id":"AAMkADNWAACYBXsvAAA=",
            "Subject":"Plan summer company picnic",
            "Start":{
                "DateTime":"2017-06-09T18:00:00.0000000",
                "TimeZone":"UTC"
            },
            "End":{
                "DateTime":"2017-06-09T19:00:00.0000000",
                "TimeZone":"UTC"
            },
            "Location":{
                "DisplayName":"Conf Room 3; Fourth Coffee; Home Office",
                "LocationType":"Default"
            },
            "Locations":[
                {
                    "DisplayName":"Conf Room 3",
                    "LocationType":"Default"
                },
                {
                    "DisplayName":"Fourth Coffee",
                    "LocationType":"Default",
                    "Address":{
                        "Type":"Unknown",
                        "Street":"4567 Main St",
                        "City":"Redmond",
                        "State":"WA",
                        "CountryOrRegion":"US",
                        "PostalCode":"32008"
                    },
                    "Coordinates":{
                        "Latitude":47.672,
                        "Longitude":-102.103
                    }
                },
                {
                    "DisplayName":"Home Office",
                    "LocationType":"Default"
                }
            ],
            "Organizer":{
                "EmailAddress":{
                    "Name":"Alex Wilbur",
                    "Address":"AlexW@contoso.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNPkvzAAA=')",
            "@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAdE6yjA==\"",
            "Id":"AAMkADNPkvzAAA=",
            "Subject":"Customer visit",
            "Start":{
                "DateTime":"2017-04-20T21:00:00.0000000",
                "TimeZone":"UTC"
            },
            "End":{
                "DateTime":"2017-04-20T23:00:00.0000000",
                "TimeZone":"UTC"
            },
            "Location":{
                "DisplayName":"",
                "LocationType":"Default",
                "Address":{
                    "Type":"Unknown"
                },
                "Coordinates":{

                }
            },
            "Locations":[

            ],
            "Organizer":{
                "EmailAddress":{
                    "Name":"Alex Wilbur",
                    "Address":"AlexW@contoso.onmicrosoft.com"
                }
            }
        }
    ]
}

Ereignisinstanzen abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Sie können die Instanzen (Vorkommen) eines Ereignisses für einen bestimmten Zeitraum abrufen. Wenn das Ereignis vom Typ SeriesMaster ist, werden die Vorkommen und Ausnahmen des Ereignisses im angegebenen Zeitbereich zurückgegeben.

GET https://outlook.office.com/api/beta/me/events/{event_id}/instances?startDateTime={start_datetime}&endDateTime={end_datetime}
Erforderliche Parameter Typ Beschreibung
Header-Parameter
Bevorzugt: outlook.timezone Die Standardzeitzone für Ereignisse in der Antwort.
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.
start_datetime datetimeoffset UTC-Datum und Uhrzeit für den Beginn des Ereignisses.
end_datetime datetimeoffset UTC-Datum und Uhrzeit für das Ende des Ereignisses.

Verwenden Sie den Header Prefer: outlook.timezone, um die Zeitzone anzugeben, die für die Start- und Endzeiten des Ereignisses in der Antwort verwendet werden soll. Wurde das Ereignis in einer anderen Zeitzone erzeugt, werden die Start- und Endzeiten an die angegebene Zeitzone angepasst.

Weitere Informationen finden sich in dieser Liste für die unterstützten Zeitzonennamen. Wenn der Header Prefer: outlook.timezone nicht angegeben ist, werden die Start- und Endzeiten in UTC zurückgegeben.

Antworttyp

Die angeforderte Ereignis-Sammlung.

Hinweis

Standardmäßig umfasst jedes Ereignis in der Antwort alle seine Eigenschaften. Verwenden Sie $select, um nur die Eigenschaften anzugeben, die Sie für die beste Leistung benötigen. Die ID-Eigenschaft wird immer zurückgegeben. Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Rufen Sie zum Beispiel die Instanzen eines bestimmten Ereignisses für den Monat Oktober ab, schließen Sie nur die Eigenschaften Subject, Start und End jeder Instanz ein:

GET https://outlook.office.com/api/beta/me/events/AAMkAGE0MGM1Y2M5LWEAAA=/instances?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject,Start,End

Abrufen eines Ereignisses

Minimal benötigter Bereich

Eine der folgenden Varianten:

Abrufen eines Ereignisses nach ID.

GET https://outlook.office.com/api/beta/me/events/{event_id}
Erforderliche Parameter Typ Beschreibung
Header-Parameter
Bevorzugt: outlook.timezone Die Standardzeitzone für Ereignisse in der Antwort.
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.

Verwenden Sie den Header Prefer: outlook.timezone, um die Zeitzone anzugeben, die für die Start- und Endzeiten des Ereignisses in der Antwort verwendet werden soll. Wurde das Ereignis in einer anderen Zeitzone erzeugt, werden die Start- und Endzeiten an die angegebene Zeitzone angepasst.

Siehe diese Liste für die unterstützten Zeitzonennamen. Wenn der Header Prefer: outlook.timezone nicht angegeben ist, werden die Start- und Endzeiten in UTC zurückgegeben.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/events/AAMkAGI2TG93AAA=

Beispielantwort

    {
        "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
        "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
        "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
        "Id": "AAMkAGI2TG93AAA=",
        "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x48w==",
        "Categories": [],
        "CreatedDateTime": "2014-10-19T23:13:47.3959685Z",
        "LastModifiedDateTime": "2014-10-19T23:13:47.6772234Z",
        "Subject": "Weekly Meeting on Contoso Project",
        "BodyPreview": "Setting up some time to review the budget and planning on the Contoso Project",
        "Body": {
            "ContentType": "HTML",
            "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nSetting up some time to review the budget and planning on the Contoso Project\r\n</body>\r\n</html>\r\n"
        },
        "Importance": "Normal",
        "HasAttachments": false,
        "Start": {
            "DateTime": "2014-10-13T21:00:00",
            "TimeZone": "Pacific Standard Time"
        },
        "End": {
            "DateTime": "2014-10-13T22:00:00",
            "TimeZone": ""Pacific Standard Time"
        },        
        "Location": {
            "DisplayName": "Alex's Office",
        },
        "Locations":[
            {
                "DisplayName": "Alex's Office",
            }
        ]
        "ShowAs": "Busy",
        "IsAllDay": false,
        "IsCancelled": false,
        "IsOrganizer": true,
        "ResponseRequested": true,
        "Type": "SeriesMaster",
        "SeriesMasterId": null,
        "Attendees": [
            {
                "EmailAddress": {
                    "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
                    "Name": "Janet Schorr"
                },
                "Status": {
                    "Response": "None",
                    "Time": "0001-01-01T00:00:00Z"
                },
                "Type": "Required"
            },
            {
                "EmailAddress": {
                    "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
                    "Name": "Pavel Bansky"
                },
                "Status": {
                    "Response": "None",
                    "Time": "0001-01-01T00:00:00Z"
                },
                "Type": "Required"
            }
        ],
        "Recurrence": {
            "Pattern": {
                "Type": "Weekly",
                "Interval": 1,
                "Month": 0,
                "Index": "First",
                "FirstDayOfWeek": "Sunday",
                "DayOfMonth": 0,
                "DaysOfWeek": [
                    "Monday"
                ]
            },
            "RecurrenceTimeZone": "Pacific Standard Time",
            "Range": {
                "Type": "NoEnd",
                "StartDate": "2014-10-13",
                "EndDate": "2014-11-13",
                "NumberOfOccurrences": 0
            }
        },
        "OriginalEndTimeZone": "Pacific Standard Time",
        "OriginalStartTimeZone": "Pacific Standard Time",
        "Organizer": {
            "EmailAddress": {
                "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
                "Name": "Alex D"
            }
        },
        "OnlineMeetingUrl": null
    }

Antworttyp

Das angeforderte Ereignis.

Hinweis

Standardmäßig enthält die Antwort alle Eigenschaften des neuen Ereignisses. Verwenden Sie $select, um nur die Eigenschaften anzugeben, die Sie für die beste Leistung benötigen. Die ID-Eigenschaft wird immer zurückgegeben. Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Das folgende Beispiel zeigt, wie man $select verwendet, um nur die Eigenschaften Subject, Organizer, Start und End jedes Ereignisses in der Antwort anzugeben.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/events/AAMkAGI2TG93AAA=?$select=Subject,Organizer,Start,End

Beispielantwort

    {
        "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
        "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
        "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
        "Id": "AAMkAGI2TG93AAA=",
        "Subject": "Weekly Meeting on Contoso Project",
        "Start": {
            "DateTime": "2014-10-13T21:00:00",
            "TimeZone": "Pacific Standard Time"
        },
        "End": {
            "DateTime": "2014-10-13T22:00:00",
            "TimeZone": ""Pacific Standard Time"
        }, 
        "Organizer": {
            "EmailAddress": {
                "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
                "Name": "Alex D"
            }
        }
    }

Ereignisse synchronisieren

Minimal benötigter Bereich

Eine der folgenden Varianten:

Synchronisieren und rufen Sie neue, aktualisierte oder gelöschte Ereignisse in einem bestimmten Zeitbereich aus dem Hauptkalender des Benutzers (../me/calendarview) oder aus einem anderen Kalender ab. Eine solche Gruppe von Ereignissen in einem Zeitbereich wird auch als Kalenderansicht bezeichnet. Die zurückgegebenen Ereignisse können Vorkommen und Ausnahmen einer wiederkehrenden Serie sowie einzelne Instanzen enthalten.

Die Synchronisation einer Kalenderansicht erfordert in der Regel eine Runde von zwei oder mehr Synchronisationsanforderungen, von denen jede ein GET-Aufruf ist. Um eine Kalenderansicht zu synchronisieren, verwenden Sie die GET-Methode, ähnlich wie Sie eine Kalenderansicht abrufen, mit der Ausnahme, dass Sie bestimmte Anforderungs-Header und deltaToken oder ein skipToken verwenden, wenn dies angemessen ist.

Anforderungsheader

  • Sie müssen den Header "Prefer: odata.track-changes" in allen Sync-Anforderungen angeben, mit Ausnahme derjenigen, die skipToken enthalten, die von einer vorherigen Sync-Anforderung zurückgegeben wird. Suchen Sie in der ersten Antwort nach dem Header Preference-Applied: odata.track-changes, um vor dem Fortfahren zu bestätigen, dass die Ressource die Synchronisierung unterstützt. (Mehr Informationen über skipToken in Antwortdaten im zweiten Beispiel unten.)

  • Sie können den Header "Prefer: odata.maxpagesize={x}" angeben, um die maximale Anzahl von Ereignissen anzugeben, die eine Synchronisationsanforderung zurückgibt.

Hier ist eine typische Runde der Synchronisierung von Ereignissen in einer Kalenderansicht:

  1. Stellen Sie die erste GET-Anforderung mit dem erforderlichen Header Prefer: odata.track-changes. Die erste Antwort auf eine Synchronisierungsanforderung liefert immer ein deltaToken. (Die zweite und nachfolgende GET-Anforderungen unterscheiden sich von der ersten GET-Anforderung, indem sie entweder ein deltaToken oder ein skipToken enthalten, das in einer früheren Antwort empfangen wurde.)

  2. Wenn die erste Antwort den Header Preference-Applied: odata.track-changes zurückgibt, können Sie mit der Synchronisierung der Ressource fortfahren.

    • Stellen Sie eine zweite GET-Anforderung. Geben Sie den Header Prefer: odata.track-changes und das deltaToken vom ersten GET zurück, um festzustellen, ob es zusätzliche Ereignisse gibt. Die zweite Abfrage gibt zusätzliche Ereignisse zurück und entweder ein skipToken, wenn mehr Ereignisse verfügbar sind, oder ein deltaToken, wenn das letzte Ereignis synchronisiert wurde, in diesem Fall können Sie aufhören.

    • Setzen Sie die Synchronisierung fort, indem Sie einen GET-Aufruf senden und ein skipToken einfügen, das vom vorherigen Aufruf zurückgegeben wird. Hören Sie auf, wenn Sie eine endgültige Antwort erhalten, die einen @odata.deltaLink-Header mit einem deltaToken enthält. Die zeigt an, dass die Synchronisierung abgeschlossen wurde.

Werfen Sie einen Blick auf die Syntax für die ersten und nachfolgenden Aufrufe in einer Synchronisierungsrunde.

So synchronisieren Sie im Standardkalender

Ursprüngliche Anforderung:

GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}

Zweite Anforderung oder erste Anforderung einer nachfolgenden Runde:

GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}

Dritte oder nachfolgende Anforderung in der gleichen Runde:

GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}

So synchronisieren Sie in einem bestimmten Kalender

Ursprüngliche Anforderung:

GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}

Zweite Anforderung oder erste Anforderung einer nachfolgenden Runde:

GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}

Dritte oder nachfolgende Anforderung in der gleichen Runde:

GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}

Parameter

Parameter Typ Beschreibung
Header-Parameter
Bevorzugt: outlook.timezone Die Standardzeitzone für Ereignisse in der Antwort.
URL-Parameter
user_context Zeichenfolge Der Benutzerkontext. Sie können den Wert 'me' verwenden, um den Kontext des aktuellen Benutzers anzugeben. Sie können auch das Format users/{upn} verwenden, wobei upn der Hauptname des Benutzers ist, der normalerweise die E-Mail-Adresse des Benutzers ist.
calendar_id Zeichenfolge Die Kalender-ID, wenn Sie eine Kalenderansicht von einem bestimmten Kalender erhalten.
start_datetime datetimeoffset Das Datum und die Uhrzeit für den Beginn des Ereignisses.
end_datetime datetimeoffset Das Datum und die Uhrzeit für das Ende des Ereignisses.
delta_token Zeichenfolge Die Zeichenfolge deltaToken wird als Teil des Wertes für @odata.deltaLink in der vorherigen Synchronisierungsantwort zurückgegeben.
skip_token Zeichenfolge Die Zeichenfolge skipToken wird als Teil des Wertes für @odata.nextLink in der vorherigen Synchronisierungsantwort zurückgegeben.

Verwenden Sie den Header Prefer: outlook.timezone, um die Zeitzone anzugeben, die für die Start- und Endzeiten des Ereignisses in der Antwort verwendet werden soll. Wurde das Ereignis in einer anderen Zeitzone erzeugt, werden die Start- und Endzeiten an die angegebene Zeitzone angepasst.

Siehe diese Liste für die unterstützten Zeitzonennamen. Wenn der Header Prefer: outlook.timezone nicht angegeben ist, werden die Start- und Endzeiten in UTC zurückgegeben.

Hinweis

  • Bei der Angabe von "Prefer: odata.track-changes" in der ersten Anforderung, wenn die Antwort die Synchronisation unterstützt, würde die Antwort "Preference-applied: odata.track-changes" im Header enthalten.
  • Wenn Sie versuchen, eine Ressource zu synchronisieren, die nicht unterstützt wird, oder wenn dies nicht die anfängliche Synchronisierungsanforderung ist, sehen Sie den Header "Preference-applied" nicht in der Antwort.
  • Sie können das Änderungszeitfenster ändern, indem Sie die Parameter startdatetime und enddatetime ändern.
  • Jedes Ereignis umfasst in der Antwort alle seine Eigenschaften.
  • Bei einer wiederkehrenden Serie umfasst eine Synchronisationsantwort das gesamte Ereignis für die wiederkehrenden Master- und Ausnahmeereignisse.
  • Instanzen einer wiederkehrenden Serie werden abgekürzt und enthalten nur die Eigenschaften Start und End. Sie können den Rest der Ereignisinformationen aus dem wiederkehrenden Master-Ereignis erfassen. Siehe Ereignis-Ressource für Referenzinformationen.
  • Die Abfrageparameter $filter, $count, $select, $skip, $top, und $search können nicht verwendet werden.

Antworttyp

Die erweiterten Ereignisse und abgekürzte Ereignisse innerhalb des angegebenen Zeitbereichs.

Beispiel

Das folgende Beispiel zeigt die ersten und zweiten Synchronisationsanforderungen, um den Standardkalender für den Benutzer zu synchronisieren. Jede Anfrage legt fest, dass jeweils nur ein vollständiges Ereignis zurückgegeben wird:

  • Die erste Antwort gibt ein Ereignis zurück, ein deltaLink und deltaToken.
  • Die zweite Anforderung verwendet deltatoken. Die zweite Antwort gibt ein Ereignis zurück, ein nextLink und skipToken.

Um die Synchronisation abzuschließen, verwenden Sie skipToken, was von der vorherigen Sync-Anfrage zurückgegeben wird, bis die Sync-Antwort deltaLink und deltaTokenzurückgibt, in diesem Fall ist diese Runde der Synchronisation abgeschlossen. Speichern Sie deltaToken für die nächste Synchronisierungsrunde.

Weitere Informationen finden Sie unter Ereignisse in einer Outlook-Kalenderansicht synchronisieren.

Beispiel für ursprüngliche Anforderung

    GET https://outlook.office.com/api/beta/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z HTTP/1.1
    Authorization: Bearer <token>
    Prefer: odata.track-changes
    Prefer: odata.maxpagesize=1
    Prefer: outlook.timezone="Pacific Standard Time"

Beispieldaten für die anfängliche Antwort

Preference-Applied: odata.track-changes

    {
        "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarView",
        "value": [
            {
                "@odata.id": "https://outlook.office.com/api/beta/Users('user0@contoso.com')/Events('asdas==')",
                "@odata.etag": "W/\"L8Z+4Y4u7k+97uRKg==\"",
                "Id": "AQMkANJAAAAA==",
                "ChangeKey": "L8Z+AAAAARKg==",
                "Categories": [
                ],
                "DateTimeCreated": "2015-04-10T17:54:49.2725912Z",
                "DateTimeLastModified": "2015-04-10T17:54:49.3038538Z",
                "Subject": "Discuss the Calendar REST API",
                "BodyPreview": "I think it will meet our requirements!",
                "Body": {
                    "ContentType": "HTML",
                    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
                },
                "Importance": "Normal",
                "HasAttachments": false,
                "Start": {
                    "DateTime": "2015-04-05T18:00:00",
                    "TimeZone": "Pacific Standard Time"
                }
                "End": {
                    "DateTime": "2015-04-05T19:00:00",
                    "TimeZone": "Pacific Standard Time"
                }
                "ReminderMinutesBeforeStart": "15",
                "IsReminderOn": "true",
                "Location":{
                    "DisplayName":"",
                    "LocationType":"Default",
                    "Address":{
                        "Type":"Unknown"
                    },
                    "Coordinates":{

                    }
                },
                "Locations":[

                ],
                "ResponseStatus": {
                    "Response": "Organizer",
                    "Time": "0001-01-01T00:00:00Z"
                },
                "ShowAs": "Busy",
                "IsAllDay": false,
                "IsCancelled": false,
                "IsOrganizer": true,
                "ResponseRequested": true,
                "Type": "SingleInstance",
                "SeriesMasterId": null,
                "Attendees": [
                ],
                "Recurrence": null,
                "OriginalEndTimeZone": "Pacific Standard Time",
                "OriginalStartTimeZone": "Pacific Standard Time",
                "Organizer": {
                    "EmailAddress": {
                        "Address": "user0@contoso.com",
                        "Name": "user0"
                    }
                },
                "iCalUId": "040000008200E9888E07599CCFA23",
                "WebLink": "https://outlook.office.com/owa/?ItemID=AAAINJAAAAA%3D%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
                "OnlineMeetingUrl": null
            }
        ],
        "@odata.deltaLink": "https://outlook.office.com/api/beta/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-04-10T00%3a00%3a00Z&%24deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c"
    }

Beispiel für zweite Anforderung

    GET https://outlook.office.com/api/beta/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z&$deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c
    Authorization: Bearer <token>
    Prefer: odata.track-changes
    Prefer: odata.maxpagesize=1
    Prefer: outlook.timezone="Pacific Standard Time"

Beispieldaten für die zweite Antwort

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarView/$delta",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('user0@contoso.com')/Events('AAMkAD0jAAA=')",
            "@odata.etag": "W/\"P2fd7QAAAAAVFA==\"",
            "Id": "AAMkADNkNmVlOTITVAAAAAA0jAAA=",
            "ChangeKey": "P2fdmIU1QAAAAAVFA==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-04-15T18:59:11.0226221Z",
            "DateTimeLastModified": "2015-04-15T18:59:11.0694979Z",
            "Subject": "1 hour",
            "BodyPreview": "\u200b",
            "Body": {
                "ContentType": "HTML",
                "Content": "<html><body>content</body></html>"
            },
            "Importance": "Normal",
            "HasAttachments": false,
            "Start": {
                "DateTime": "2015-04-16T18:00:00",
                "TimeZone": "Pacific Standard Time"
            }
            "End": {
                "DateTime": "2015-04-16T19:00:00",
                "TimeZone": Pacific Standard Time"
            }
            "ReminderMinutesBeforeStart": "15",
            "IsReminderOn": "true",
            "Location":{
                "DisplayName":"",
                "LocationType":"Default",
                "Address":{
                    "Type":"Unknown"
                },
                "Coordinates":{

                }
            },
            "Locations":[

            ],
            "ResponseStatus": {
                "Response": "Organizer",
                "Time": "0001-01-01T00:00:00Z"
            },
            "ShowAs": "Busy",
            "IsAllDay": false,
            "IsCancelled": false,
            "IsOrganizer": true,
            "ResponseRequested": true,
            "Type": "SingleInstance",
            "SeriesMasterId": null,
            "Attendees": [
            ],
            "Recurrence": null,
            "OriginalEndTimeZone": "Pacific Standard Time",
            "OriginalStartTimeZone": "Pacific Standard Time",
            "Organizer": {
                "EmailAddress": {
                    "Address": "user0@contoso.com",
                    "Name": "user0"
                }
            },
            "iCalUId": "040000008200E09BB89A316862",
            "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADNkNmVlOAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
            "OnlineMeetingUrl": null
        }
    ],
    "@odata.nextLink": "https://outlook.office.com/api/beta/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-08-10T00%3a00%3a00Z&%24skipToken=530c9d02ae1a4d96804538bd4d381546"
}

Besprechungszeiten finden

Minimal benötigter Bereich

Eine der folgenden Varianten:

Mit dieser Methode können Sie Vorschläge für Besprechungstermine abrufen. Die Vorschläge basieren auf der Verfügbarkeit des Organisators und der Teilnehmer sowie auf als Parameter spezifizierten Zeit- oder Ortseinschränkungen.

Dieser Vorgang gilt nur für Office 365-Postfächer (auf Azure AD) und nicht für Microsoft-Konten.

POST https://outlook.office.com/api/{version}/me/findmeetingtimes

Alle unterstützten Parameter sind unten aufgeführt. Geben Sie je nach Szenario die erforderlichen Parameter im Anforderungstext der Aktion FindMeetingTimes an.

Parameter Typ Beschreibung Erforderlich?
Teilnehmer Sammlung(AttendeeBase) Teilnehmer oder Ressourcen für die Besprechung. Eine leere Sammlung bewirkt, dass FindMeetingTimes nur für den Veranstalter nach freien Terminen sucht. Optional
IsOrganizerOptional Edm.Boolean Geben Sie true an, ob der Veranstalter nicht unbedingt teilnehmen muss. Die Vorgabe ist false. Optional
LocationConstraint LocationConstraint Die Anforderungen des Organisators bezüglich des Besprechungsorts, z. B. ob ein Vorschlag für einen Besprechungsort erforderlich ist oder nur bestimmte Besprechungsorte zulässig sind Optional
MaxCandidates Edm.Int32 Die maximale Anzahl von Besprechungsvorschlägen, die in der Antwort zurückgegeben werden. Optional
MeetingDuration Edm.Duration Die Dauer der Besprechung, ausgedrückt im ISO 8601 Format, z.B. PT1H entspricht 1 Stunde. Wenn keine Besprechungsdauer angegeben ist, verwendet FindMeetingTimes den Standard von 30 Minuten. Optional
MinimumAttendeePercentage Edm.Double Die mindestens erforderliche confidence, damit ein bestimmtes Zeitfenster in der Antwort zurückgegeben wird. Hierbei handelt es sich um einen Prozentwert zwischen 0 und 100. Optional
ReturnSuggestionReasons Edm.Boolean Geben Sie true an, um einen Grund für jeden Besprechungsvorschlag in der Eigenschaft SuggestionReason zurückzugeben. Die Vorgabe ist false um diese Eigenschaft nicht zurückzugeben. Optional
TimeConstraint TimeConstraint Jede Zeitbeschränkung für eine Besprechung, die die Art der Besprechung (ActivityDomain) und mögliche Besprechungszeiträume (TimeSlots) beinhalten kann. FindMeetingTimes nimmt ActivityDomain als Work an, wenn Sie diesen Parameter nicht angeben. Optional

FindMeetingTimes überprüft den Frei/Gebucht-Status in den Hauptkalendern des Veranstalters und der Teilnehmer. Anhand der angegebenen Parameter schlägt die Aktion die bestmöglichen Besprechungszeiten vor. In der folgenden Tabelle werden die Einschränkungen beschrieben, die Sie im Parameter TimeConstraint genauer angeben können.

activityDomain-Wert in TimeConstraint Vorschläge für Besprechungstermine
Arbeit Vorschläge liegen innerhalb der Arbeitszeiten des Benutzers, die in der Kalenderkonfiguration des Benutzers definiert sind und vom Benutzer oder Administrator angepasst werden können. Die Standardarbeitszeiten sind Montag bis Freitag, 8:00 bis 17:00 Uhr in der für das Postfach eingestellten Zeitzone. Dies ist der Standardwert, wenn kein ActivityDomain angegeben ist.
Persönlich Vorschläge liegen innerhalb der Arbeitszeit des Benutzers sowie am Samstag und Sonntag. Der Standardwert ist Montag bis Sonntag von 08:00 Uhr bis 17:00 Uhr in der Zeitzone, die für das Postfach festgelegt ist.
Uneingeschränkt Vorschläge können für jede Zeit des Tages an jedem Tag der Woche gemacht werden.
Unbekannt Verwenden Sie diesen Wert nicht, da er in Zukunft veraltet sein wird. Verhält sich derzeit wie Arbeit. Ändern Sie einen vorhandenen Code, um Arbeit, Persönlich oder Uneingeschränkt zu verwenden.

Antworttyp

Ein MeetingTimeSuggestionsResult, das eine Sammlung von Besprechungsvorschlägen vom Typ MeetingTimeSuggestionund eine Eigenschaft EmptySuggestionsReason enthält.

Jeder Vorschlag wird als MeetingTimeSuggestion definiert, wobei die Teilnehmer standardmäßig einen Vertrauensgrad von 50 % oder einen bestimmten Prozentsatz haben, den Sie im Parameter MinimumAttendeePercentage angegeben haben.

Standardmäßig wird jeder Besprechungsterminvorschlag in UTC zurückgegeben. Wenden Sie den Anforderungsheader Prefer: outlook.timezone an, um z.B. Besprechungszeitvorschläge in einer anderen Zeitzone zurückgeben zu lassen:

Prefer: outlook.timezone="Pacific Standard Time"

Wenn FindMeetingTimes keine Besprechungsvorschläge zurückgeben kann, würde die Antwort einen Grund in der Eigenschaft EmptySuggestionsReason angeben. Anhand dieses Wertes können Sie die Parameter besser anpassen und FindMeetingTimes erneut aufrufen.

Hinweis

Derzeit geht FindMeetingTimes davon aus, dass jeder Teilnehmer, der eine Person (im Gegensatz zu einer Ressource) ist, ein erforderlicher Teilnehmer ist. Geben Sie also Required für eine Person und Resource für eine Ressource in der entsprechenden Eigenschaft Type als Teil des Sammelparameters Attendees an.

Jedes Beispiel unten ruft FindMeetingTimes auf und variiert je nach Teilnehmerverfügbarkeit, Zeit und Ort wie unten beschrieben:

Finden Sie Zeit und Ort, um sich mit spezifischen Teilnehmern zu treffen

Finden Sie Zeiten und Orte für Treffen, indem Sie die folgenden Parameter im Anforderungstext angeben:

  • Teilnehmer
  • TimeConstraint
  • MeetingDuration

Beispielanfrage

Das folgende Beispiel schlägt Besprechungszeiten und -orte unter Berücksichtigung der Verfügbarkeit des Veranstalters und des Teilnehmers während der Arbeitszeit des gewünschten Besprechungszeitraums und der gewünschten Dauer vor.

POST https://outlook.office.com/api/beta/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [ 
    { 
      "Type": "Required",  
      "EmailAddress": { 
        "Name": "Fanny",
        "Address": "fannyd@prosewareltd.onmicrosoft.com" 
      } 
    } 
  ],  
  "TimeConstraint": { 
    "ActivityDomain":"Work",
    "Timeslots": [ 
       { 
        "Start": { 
          "DateTime": "2016-05-20T07:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-20T17:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT1H" 
} 

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-20T10:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-20T11:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
                {
                    "Attendee": {
                        "Type": "Required",
                        "EmailAddress": {
                            "Name": "Fanny",
                            "Address": "fannyd@prosewareltd.onmicrosoft.com"
                        }
                    },
                    "Availability": "Free"
                }
            ],
            "Locations": [
                {
                    "DisplayName": "Tokyo conference room",
                    "LocationType": "Default"
                }
            ]
        },
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-20T11:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-20T12:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
                {
                    "Attendee": {
                        "Type": "Required",
                        "EmailAddress": {
                            "Name": "Fanny",
                            "Address": "fannyd@prosewareltd.onmicrosoft.com"
                        }
                    },
                    "Availability": "Free"
                }
            ],
            "Locations": [
                {
                    "DisplayName": "Paris conference room",
                    "LocationType": "Default"
                }
            ]
        }
    ],
    "EmptySuggestionsReason": ""
}

Finden Sie eine Zeit, sich an einem bekannten Ort zu treffen und erhalten Sie einen Grund für jeden Vorschlag

Finden Sie einen Besprechungstermin für einen vorab festgelegten Ort und fordern Sie für jeden Vorschlag einen Grund an. Dazu geben Sie im Anforderungstext folgende Parameter an:

  • Teilnehmer
  • LocationConstraint
  • TimeConstraint
  • MeetingDuration
  • ReturnSuggestionReasons

Durch Setzen des Parameters returnSuggestionReasons wird für jeden Vorschlag auch eine Erklärung in der Eigenschaft suggestionReason vermerkt, sofern findMeetingTimes Vorschläge zurückgibt.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [ 
    { 
      "Type": "Required",  
      "EmailAddress": { 
        "Name": "Fanny",
        "Address": "fannyd@prosewareltd.onmicrosoft.com" 
      } 
    } 
  ],  
  "LocationConstraint": { 
    "IsRequired": "false",  
    "SuggestLocation": "false",  
    "Locations": [ 
      { 
        "ResolveAvailability": "false",
        "DisplayName": "Conf room Hood" 
      } 
    ] 
  },  
  "TimeConstraint": { 
    "ActivityDomain":"Work",
    "Timeslots": [ 
      { 
        "Start": { 
          "DateTime": "2016-05-20T07:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-20T17:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT2H",
  "ReturnSuggestionReasons": "true"
} 

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-20T10:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-20T12:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
                {
                    "Attendee": {
                        "Type": "Required",
                        "EmailAddress": {
                            "Name": "Fanny",
                            "Address": "fannyd@prosewareltd.onmicrosoft.com"
                        }
                    },
                    "Availability": "Free"
                }
            ],
            "Locations": [
                {
                    "DisplayName": "Conf room Hood"
                    "LocationType": "Default"
                }
            ],
            "SuggestionReason": "Suggested because it is one of the nearest times when all attendees are available."
        }
    ],
    "EmptySuggestionsReason": ""
}

Finden Sie eine Zeit zum Treffen, es ist aber kein Teilnehmer verfügbar

Finden Sie Zeit, um sich an einem bestimmten Ort zu treffen, indem Sie die folgenden Parameter im Anfragetext angeben:

  • Teilnehmer
  • LocationConstraint
  • TimeConstraint
  • MeetingDuration

In diesem Beispiel kann FindMeetingTimes basierend auf den angegebenen Parametern und der Verfügbarkeit der Teilnehmer keine Vorschläge zurückgeben und liefert stattdessen einen Grund AttendeesUnavailable in der Eigenschaft EmptySuggestionsReason.

Siehe andere mögliche Gründe, dass keine Besprechungsvorschläge zurückgegeben werden.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [ 
    { 
      "Type": "Required",  
      "EmailAddress": { 
        "Name": "Fanny",
        "Address": "fannyd@prosewareltd.onmicrosoft.com" 
      } 
    } 
  ],  
  "LocationConstraint": { 
    "IsRequired": "false",  
    "SuggestLocation": "false",  
    "Locations": [ 
      { 
        "ResolveAvailability": "false",
        "DisplayName": "Conf room Hood" 
      } 
    ] 
  },  
  "TimeConstraint": { 
    "Timeslots": [ 
      { 
        "Start": { 
          "DateTime": "2016-05-20T7:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-20T14:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT2H" 
}

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
    ],
    "EmptySuggestionsReason": "AttendeesUnavailable"
}

Finden Sie eine Zeit, um sich zu treffen, es sind aber nur einige Teilnehmer verfügbar

Finden Sie Zeit, um sich an einem bestimmten Ort zu treffen, indem Sie die folgenden Parameter im Anfragetext angeben:

  • Teilnehmer
  • LocationConstraint
  • TimeConstraint
  • MeetingDuration
  • ReturnSuggestionReasons
  • MinimumAttendeePercentage

In diesem Beispiel ist nur einer der beiden Teilnehmer verfügbar. Jeder Besprechungsvorschlag, der FindMeetingTimes zurückgibt, enthält:

  • Die Verfügbarkeit jedes Teilnehmers.
  • Eine berechnete Besprechung mit Vertrauensgrad, die die durchschnittliche prozentuale Wahrscheinlichkeit der Teilnahme der Teilnehmer darstellt. Dieser Wert muss die in MinimumAttendeePercentage angegebene 60% Anforderung erfüllen.
  • Ein SuggestionHint, da der Parameter ReturnSuggestionReasons gesetzt ist.

Mehr Informationen über den Vertrauensgrad einer Besprechung.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [ 
    { 
      "Type": "Required",  
      "EmailAddress": { 
        "Name": "Fanny",
        "Address": "fannyd@prosewareltd.onmicrosoft.com" 
      } 
    },
   { 
      "Type": "Optional",  
      "EmailAddress": { 
        "Name": "Dana",
        "Address": "danas@prosewareltd.onmicrosoft.com" 
      } 
    } 
  ],  
  "LocationConstraint": { 
    "IsRequired": "false",  
    "SuggestLocation": "false",  
    "Locations": [ 
      { 
        "ResolveAvailability": "false",
        "DisplayName": "Conf room Hood" 
      } 
    ] 
  },  
  "TimeConstraint": { 
    "ActivityDomain":"Work",
    "Timeslots": [ 
      { 
        "Start": { 
          "DateTime": "2016-05-20T09:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-20T17:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT1H",
  "ReturnSuggestionReasons": "true",
  "MinimumAttendeePercentage": "60"
}

Beispielantwort

Statuscode: 200

{
   "@odata.context":"https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
   "MeetingTimeSuggestions":[
      {
         "MeetingTimeSlot":{
            "Start":{
               "DateTime":"2016-05-20T10:00:00.0000000",
               "TimeZone":"Pacific Standard Time"
            },
            "End":{
               "DateTime":"2016-05-20T11:00:00.0000000",
               "TimeZone":"Pacific Standard Time"
            }
         },
         "Confidence":100.0,
         "OrganizerAvailability":"Free",
         "AttendeeAvailability":[
            {
               "Attendee":{
                  "Type":"Required",
                  "EmailAddress":{
                     "Name": "Fanny",
                     "Address":"fannyd@prosewareltd.onmicrosoft.com"
                  }
               },
               "Availability":"Free"
            },
            {
               "Attendee":{
                  "Type":"Required",
                  "EmailAddress":{
                     "Name": "Dana",
                     "Address":"danas@prosewareltd.onmicrosoft.com"
                  }
               },
               "Availability":"Free"
            }
         ],
         "Locations":[
            {
               "DisplayName":"Conf room Hood"
               "LocationType": "Default"
            }
         ],
         "SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
      },
      {
         "MeetingTimeSlot":{
            "Start":{
               "DateTime":"2016-05-20T11:00:00.0000000",
               "TimeZone":"Pacific Standard Time"
            },
            "End":{
               "DateTime":"2016-05-20T12:00:00.0000000",
               "TimeZone":"Pacific Standard Time"
            }
         },
         "Confidence":74.5,
         "OrganizerAvailability":"Free",
         "AttendeeAvailability":[
            {
               "Attendee":{
                  "Type":"Required",
                  "EmailAddress":{
                     "Name": "Fanny",
                     "Address":"fannyd@prosewareltd.onmicrosoft.com"
                  }
               },
               "Availability":"Free"
            },
            {
               "Attendee":{
                  "Type":"Required",
                  "EmailAddress":{
                     "Name": "Dana",
                     "Address":"danas@prosewareltd.onmicrosoft.com"
                  }
               },
               "Availability":"Unknown"
            }
         ],
         "Locations":[
            {
               "DisplayName":"Conf room Hood"
               "LocationType": "Default"
            }
         ],
         "SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
      }
   ],
   "EmptySuggestionsReason":""
}

Finden Sie freie Zeitfenster nur für den angemeldeten Benutzer

Finden Sie freie Zeitfenster im Hauptkalender des angemeldeten Benutzers zu jeder Zeit der Woche innerhalb eines Datumsbereichs, indem Sie die folgenden Parameter im Anforderungstext angeben:

  • TimeConstraint
  • MeetingDuration

Beispielanfrage

Dieses Beispiel sucht im Hauptkalender des angemeldeten Benutzers nach 1 Stunde freien Zeitfenstern, wie durch MeetingDuration angegeben, zu jeder Zeit der Woche innerhalb eines durch TimeConstraint festgelegten Datumsbereichs.

POST https://outlook.office.com/api/beta/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [],
  "TimeConstraint": {
    "ActivityDomain":"Unrestricted", 
    "Timeslots": [ 
      { 
        "Start": { 
          "DateTime": "2016-05-20T06:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-22T23:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT1H"
}

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-20T06:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-20T07:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
            ],
            "Locations": [
            ]
        },
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-21T09:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-21T10:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
            ],
            "Locations": [
            ]
        },
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-22T19:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-22T20:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
            ],
            "Locations": [
            ]
        }
    ],
    "EmptySuggestionsReason": ""
}

Besprechungsräume abrufen (Vorschauversion)

In Outlook kann ein Mandant Besprechungsräume in Raumlisten organisieren. Jeder Besprechungsraum und jede Raumliste wird durch eine EmailAddress -Instanz dargestellt.

Raumlisten abrufen (Vorschauversion)

Minimal benötigter Bereich

Eine der folgenden Varianten:

  • User.Read.All
  • User.ReadBasic.All_

Von einem Mandanten definierte Raumlisten abrufen.

GET https://outlook.office.com/api/beta/me/findroomlists

Antworttyp

Sammlung von EmailAddress-Instanzen. Wenn keine Listen im Mandanten definiert sind, wird ein leeres Array zurückgegeben.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/findroomlists

Beispielantwort

Status code: 200 

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
  "value":[
    {
      "Name":"Building 1 Rooms",
      "Address":"Building1Rooms@contoso.onmicrosoft.com"
    },
    {
      "Name":"Building 2 Rooms",
      "Address":"Building2Rooms@contoso.onmicrosoft.com"
    }
  ]
}

Räume abrufen (Vorschauversion)

Minimal benötigter Bereich

Eine der folgenden Varianten:

  • User.Read.All
  • User.ReadBasic.All

Sie können alle im Mandanten des Benutzers definierten Besprechungsräume abrufen oder die Besprechungsräume in einer bestimmten Raumliste abrufen.

Hinweis

Diese Vorgänge führen zu den ersten 100 Räumen eines Mandanten.

Um alle Räume im Mandanten des Benutzers abzurufen:

GET https://outlook.office.com/api/beta/me/findrooms

Um die Räume in einer bestimmten Raumliste abzurufen:

GET https://outlook.office.com/api/beta/me/findrooms(roomlist='{room_list}') 
Optionaler Parameter Typ Beschreibung
Funktionsparameter
room_list Zeichenfolge Die der Raumliste zugeordnete SMTP-Adresse. Jede Raumliste wird durch eine EmailAddress-Instanz dargestellt, die eine SMTP-Adresse enthält.

Antworttyp

Sammlung von EmailAddress-Instanzen.

Beispielanfrage

Das folgende Beispiel liefert die im Mandanten des angemeldeten Benutzers definierten Räume.

GET https://outlook.office.com/api/beta/me/findrooms 

Beispielantwort

Status code: 200 

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
  "value":[
    {
      "Name":"Conf Room Adams",
      "Address":"Adams@contoso.onmicrosoft.com"
    },
    {
      "Name":"Conf Room Baker",
      "Address":"Baker@contoso.onmicrosoft.com"
    },
    {
      "Name":"Conf Room Crystal",
      "Address":"Crystal@contoso.onmicrosoft.com"
    },
    {
      "Name":"Conf Room Hood",
      "Address":"Hood@contoso.onmicrosoft.com"
    },
    {
      "Name":"Conf Room Rainier",
      "Address":"Rainier@contoso.onmicrosoft.com"
    },
    {
      "Name":"Conf Room Stevens",
      "Address":"Stevens@contoso.onmicrosoft.com"
    },
    {
      "Name":"SurfaceHub",
      "Address":"SurfaceHub@contoso.onmicrosoft.com"
    }
  ]
}

Beispielanfrage

Das folgende Beispiel liefert die Räume in der angegebenen Raumliste, die durch die E-Mail-Adresse Building2Rooms@contoso.onmicrosoft.com. identifiziert werden.

GET https://outlook.office.com/api/beta/me/findrooms(roomlist='Building2Rooms@contoso.onmicrosoft.com') 

Beispielantwort

Status code: 200 

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
  "value":[
    {
      "Name":"Conf Room Baker",
      "Address":"Baker@contoso.onmicrosoft.com"
    },
    {
      "Name":"Conf Room Hood",
      "Address":"Hood@contoso.onmicrosoft.com"
    },
    {
      "Name":"Conf Room Rainier",
      "Address":"Rainier@contoso.onmicrosoft.com"
    }
  ]
}

Ereignisse erstellen

Ein Kalenderereignis erstellen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Erstellen Sie ein Ereignis im Hauptkalender des Benutzers oder in einem bestimmten Kalender, indem Sie es an den Endpunkt events des Kalenders senden. Wenn das Ereignis erstellt wird, sendet der Server Einladungen an alle Teilnehmer.

POST https://outlook.office.com/api/beta/me/events
POST https://outlook.office.com/api/beta/me/calendars/{calendar_id}/events
Erforderliche Parameter Typ Beschreibung
URL-Parameter
calendar_id Zeichenfolge Die Kalender-ID.

Beispielanfrage

Das folgende Beispiel erstellt ein Ereignis, an der der Veranstalter und die Teilnehmer von 3 verschiedenen Orten aus teilnehmen können.

POST https://outlook.office.com/api/beta/me/events
Content-Type: application/json
{
  "Subject": "Plan summer company picnic",
  "Body": {
    "ContentType": "HTML",
    "Content": "Let's kick-start this event planning!"
  },
  "Start": {
      "DateTime": "2017-06-09T11:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2017-06-09T12:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "AdeleV@contoso.onmicrosoft.com",
        "Name": "Adele Vance"
      },
      "Type": "Required"
    },
    {
      "EmailAddress": {
        "Address": "AlexW@contoso.onmicrosoft.com",
        "Name": "Alex Wilber"
      },
      "Type": "Required"
    }
  ],
  "Location": {
    "DisplayName": "Conf Room 3; Fourth Coffee; Home Office",
    "LocationType": "Default"
  },
  "Locations": [
    {
      "DisplayName": "Conf Room 3",
    },
    {
      "DisplayName": "Fourth Coffee",
      "Address": {
        "Street": "4567 Main St",
        "City": "Redmond",
        "State": "WA",
        "CountryOrRegion": "US",
        "PostalCode": "32008"
      },
      "Coordinates": {
        "Latitude": 47.672,
        "Longitude": -102.103
      },
      "LocationType": "LocalBusiness"
    },
    {
      "DisplayName": "Home Office",
    }
  ]

}

Beispielantwort

Statuscode: 201

{
    "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
    "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNCYBXsvAAA=')",
    "@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==\"",
    "Id":"AAMkADNCYBXsvAAA=",
    "CreatedDateTime":"2017-06-06T19:59:23.003773-07:00",
    "LastModifiedDateTime":"2017-06-06T19:59:24.8432785-07:00",
    "ChangeKey":"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==",
    "Categories":[

    ],
    "OriginalStartTimeZone":"Pacific Standard Time",
    "OriginalEndTimeZone":"Pacific Standard Time",
    "iCalUId":"040000008200E00074C5B7101A82E008000000000FD9CB103ADFD20100000000000000001000000026DB266A0E3C4A4FB15DC14FFFB1469D",
    "ReminderMinutesBeforeStart":15,
    "IsReminderOn":true,
    "HasAttachments":false,
    "Subject":"Plan summer company picnic",
    "BodyPreview":"Let's kick-start this event planning!",
    "Importance":"Normal",
    "Sensitivity":"Normal",
    "IsAllDay":false,
    "IsCancelled":false,
    "IsOrganizer":true,
    "ResponseRequested":true,
    "SeriesMasterId":null,
    "ShowAs":"Busy",
    "Type":"SingleInstance",
    "WebLink":"https://outlook.office365.com/owa/?itemid=AAMkADNCYBXsvAAA%3D&exvsurl=1&path=/calendar/item",
    "OnlineMeetingUrl":null,
    "ResponseStatus":{
        "Response":"Organizer",
        "Time":"0001-01-01T00:00:00Z"
    },
    "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\nLet's kick-start this event planning!\r\n</body>\r\n</html>\r\n"
    },
    "Start":{
        "DateTime":"2017-06-09T11:00:00.0000000",
        "TimeZone":"Pacific Standard Time"
    },
    "End":{
        "DateTime":"2017-06-09T12:00:00.0000000",
        "TimeZone":"Pacific Standard Time"
    },
    "Location":{
        "DisplayName":"Conf Room 3; Fourth Coffee; Home Office",
        "LocationType":"Default"
    },
    "Locations":[
        {
            "DisplayName":"Conf Room 3",
            "LocationType":"Default"
        },
        {
            "DisplayName":"Fourth Coffee",
            "LocationType":"Default",
            "Address":{
                "Type":"Unknown",
                "Street":"4567 Main St",
                "City":"Redmond",
                "State":"WA",
                "CountryOrRegion":"US",
                "PostalCode":"32008"
            },
            "Coordinates":{
                "Latitude":47.672,
                "Longitude":-102.103
            }
        },
        {
            "DisplayName":"Home Office",
            "LocationType":"Default"
        }
    ],
    "Recurrence":null,
    "Attendees":[
        {
            "Type":"Required",
            "Status":{
                "Response":"None",
                "Time":"0001-01-01T00:00:00Z"
            },
            "EmailAddress":{
                "Name":"Adele Vance",
                "Address":"AdeleV@contoso.onmicrosoft.com"
            }
        },
        {
            "Type":"Required",
            "Status":{
                "Response":"None",
                "Time":"0001-01-01T00:00:00Z"
            },
            "EmailAddress":{
                "Name":"Alex Wilber",
                "Address":"AlexW@contoso.onmicrosoft.com"
            }
        }
    ],
    "Organizer":{
        "EmailAddress":{
            "Name":"Fanny Downs",
            "Address":"fannyd@contoso.onmicrosoft.com"
        }
    },
    "OnlineMeeting":null
}

Antworttyp

Das neue Ereignis.

Standardmäßig enthält die Antwort alle Eigenschaften des neuen Ereignisses. Verwenden Sie $select, um nur die Eigenschaften anzugeben, die Sie für die beste Leistung benötigen. Die ID-Eigenschaft wird immer zurückgegeben.

Das folgende Beispiel soll nur die Eigenschaften Start und End des neuen Ereignisses in die Antwort aufnehmen.

POST https://outlook.office.com/api/beta/me/events?$Select=Start,End

Ereignisse aktualisieren

Kalenderereignis aktualisieren

Minimal benötigter Bereich

Eine der folgenden Varianten:

Ein Ereignis ändern. Nur die Eigenschaften, die Sie angeben, werden geändert. Wenn der Benutzer der Organisator ist, sendet der Server Besprechungsaktualisierungen an alle Teilnehmer.

PATCH https://outlook.office.com/api/beta/me/events/{event_id}
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.

Geben Sie alle beschreibbaren Ereignis-Eigenschaften im Anforderungstext an.

PATCH https://outlook.office.com/api/beta/me/events/AAMkAGE1MFKPQWAAA=?$select=Location

Beispielanfrage

PATCH https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=
Content-Type: application/json

{
  "Location": {
    "DisplayName": "Conference Rome",
    "LocationType": "ConferenceRoom"
  }
}

Beispielantwort

Statuscode: 200

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE0M4v1OAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==\"",
  "Id": "AAMkAGE0M4v1OAAA=",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==",
  "Categories": [],
  "CreatedDateTime": "2014-01-22T20:49:05.5657528Z",
  "LastModifiedDateTime": "2014-01-22T21:14:17.4886416Z",
  "Subject": "Discuss the Calendar REST API",
  "BodyPreview": "I think it will meet our requirements!",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "Start": {
    "DateTime": "2014-02-02T18:00:00",
    "TimeZone": "Pacific Standard Time"
  },
  "End": {
    "DateTime": "2014-02-02T19:00:00",
    "TimeZone": "Pacific Standard Time"
  },
  "Location": {
    "DisplayName": "Conference Rome",
    "LocationType": "ConferenceRoom"
  },
  "Locations":[
    {
      "DisplayName":"Conference Rome",
      "LocationType":"ConferenceRoom"
    }
  ],
  "ShowAs": "Busy",
  "IsAllDay": false,
  "IsCancelled": false,
  "IsOrganizer": true,
  "ResponseRequested": true,
  "Type": "SingleInstance",
  "SeriesMasterId": null,
  "Attendees": [],
  "Recurrence": null,
  "OriginalEndTimeZone": "Pacific Standard Time",
  "OriginalStartTimeZone": "Pacific Standard Time",
  "Organizer": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "alexd"
    }
  },
  "OnlineMeetingUrl": null
}

Antworttyp

Das aktualisierte Ereignis. Wenn der Benutzer der Organisator ist, sendet der Server Besprechungsaktualisierungen an alle Teilnehmer.

Standardmäßig enthält die Antwort alle Eigenschaften des aktualisierten Ereignisses. Verwenden Sie $select, um nur die Eigenschaften anzugeben, die Sie für die beste Leistung benötigen. Die ID-Eigenschaft wird immer zurückgegeben.

Auf Ereignisse antworten

Ereignis annehmen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Nimmt das angegebene Ereignis an.

POST https://outlook.office.com/api/beta/me/events/{event_id}/accept
Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID. Erforderlich.
Text-Parameter
Kommentar Zeichenfolge In der Antwort enthaltener Text. Optional.
SendResponse boolesch true ,wenn eine Antwort an den Organisator gesendet werden soll; andernfalls false. Optional. Der Standardwert lautet true.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/accept

Content-Type: application/json

{
  "Comment": "Great idea!",
  "SendResponse": "true"
}

Antwort

Eine erfolgreiche Antwort wird durch einen HTTP-202-Antwortcode angegeben.

Ereignis vorläufig annehmen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Nimmt das angegebene Ereignis mit Vorbehalt an.

POST https://outlook.office.com/api/beta/me/events/{event_id}/tentativelyaccept
Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID. Erforderlich.
Text-Parameter
Kommentar Zeichenfolge In der Antwort enthaltener Text. Optional.
SendResponse boolesch true ,wenn eine Antwort an den Organisator gesendet werden soll; andernfalls false. Optional. Der Standardwert lautet true.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/tentativelyaccept

Content-Type: application/json

{
  "Comment": "I'll confirm later!",
  "SendResponse": "true"
}

Antwort

Eine erfolgreiche Antwort wird durch einen HTTP-202-Antwortcode angegeben.

Ereignis ablehnen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Lehnt die Einladung zu dem angegebenen Ereignis ab.

POST https://outlook.office.com/api/beta/me/events/{event_id}/decline
Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID. Erforderlich.
Text-Parameter
Kommentar Zeichenfolge In der Antwort enthaltener Text. Optional.
SendResponse boolesch true ,wenn eine Antwort an den Organisator gesendet werden soll; andernfalls false. Optional. Der Standardwert lautet true.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/decline

Content-Type: application/json

{
  "Comment": "Sorry, maybe next time!",
  "SendResponse": "true"
}

Antwort

Eine erfolgreiche Antwort wird durch einen HTTP-202-Antwortcode angegeben.

Ereignisse weiterleiten (Vorschauversion)

Minimal benötigter Bereich

Eine der folgenden Varianten:

Mit dieser Aktion kann der Organisator oder Teilnehmer eines Besprechungsereignisses die Besprechungsanforderung an einen neuen Empfänger weiterleiten.

Wenn das Besprechungsereignis von einem Office 365-Postfach an einen anderen Empfänger weitergeleitet wird, sendet diese Aktion auch eine Nachricht, um den Organisator über die Weiterleitung zu informieren, und fügt den Empfänger zur Kopie des Besprechungsereignisses hinzu. Diese Komfortfunktion ist nicht verfügbar, wenn Sie von einem Outlook.com-Konto aus weiterleiten.

POST https://outlook.office.com/api/beta/me/events('{event_id}')/forward
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.
Text-Parameter
Kommentar Zeichenfolge Ein Kommentar, der eingefügt werden kann. Kann eine leere Zeichenfolge sein.
ToRecipients Sammlung(Recipient) Die Liste der Empfänger, an die das Ereignis weitergeleitet werden soll.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/events('AQMkADJmMTU4AAAA=')/forward

Content-Type: application/json
{
  "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"danas@contoso.onmicrosoft.com",
          "Name":"Dana Swope"
        }
      }
     ],
  "Comment": "Dana, hope you can make this meeting." 
}

Beispielantwort

Status code: 202 Accepted

Ereignisse löschen

Ein Kalenderereignis löschen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Verschieben Sie ein Ereignis in den Ordner "Gelöschte Objekte" des angemeldeten Benutzers. Wenn es sich bei dem Ereignis um eine Besprechung handelt und der angemeldete Benutzer der Organisator ist, sendet der Server Stornierungen an alle Teilnehmer.

Diese Aktion unterscheidet sich von Cancel dadurch, dass Delete dem Organisator und den Teilnehmern der Besprechung zur Verfügung steht. Wenn der angemeldete Benutzer der Organisator der Besprechung ist, bricht der Benutzer die Besprechung einfach ab, ohne den Teilnehmern eine benutzerdefinierte Stornierungsnachricht zu senden.

DELETE https://outlook.office.com/api/beta/me/events/{event_id}
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.

Beispielanfrage

DELETE https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=

Beispielantwort

Status code: 204

Ereignisse absagen (Vorschauversion)

Minimal benötigter Bereich

Eine der folgenden Varianten:

Mit dieser Aktion kann der Organisator einer Besprechung eine Absage senden und das Ereignis absagen.

Die Aktion verschiebt das Ereignis in den Ordner "Gelöschte Objekte". Der Organisator kann auch ein Ereignis einer wiederkehrenden Besprechung durch Angabe der Ereignis-ID absagen. Ein Teilnehmer, der diese Aktion aufruft, erhält einen Fehler (HTTP 400 Bad Request) mit der folgenden Fehlermeldung:

"Ihre Anfrage kann nicht bearbeitet werden. Sie müssen ein Organisator sein, um eine Besprechung abzusagen."

Diese Aktion unterscheidet sich von Delete dadurch, dass Cancel nur dem Veranstalter zur Verfügung steht und der Veranstalter den Teilnehmern eine eigene Nachricht über die Absage senden kann.

POST https://outlook.office.com/api/beta/me/events/{event_id}/Cancel
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.
Text-Parameter
Kommentar Zeichenfolge Ein Kommentar zur Absage an alle Teilnehmer.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=/Cancel

Content-Type: application/json
{
  "Comment": "Cancelling this meeting as there is a time conflict for most folks."
}

Beispielantwort

Status code: 202

Anlagen abrufen

Sie können eine Anlagensammlung oder eine Anlage abrufen.

Eine Anlagesammlung abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Rufen Sie die Anlagen eines bestimmten Ereignisses ab.

Hinweis

Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

GET https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.

Antworttyp

Eine Anlagensammlung, die vom Typ FileAttachment, ItemAttachment, oder ReferenceAttachment sein kann.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/events/AAMkAGI2NGTG9yAAA=/attachments

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGI2NG9yAAA%3D')/Attachments",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2NGTG9yAAA=')/Attachments('AAMkAGI2NGLwydGuOzcHf1FBlo=')",
            "Id": "AAMkAGI2NGLwydGuOzcHf1FBlo=",
            "LastModifiedDateTime": "2014-10-22T00:30:26Z",
            "Name": "Company Party.docx",
            "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
            "Size": 11647,
            "IsInline": false,
            "ContentId": null,
            "ContentLocation": null,
            "ContentBytes": "UEsDBBQABgAIAAAAIQDfpNJs...AAF4pAAAAAA=="
        }
    ]
}

Eine Anlage abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Rufen Sie eine Anlage von einem bestimmten Ereignis ab.

GET https://outlook.office.com/api/beta/me/events/{event_id}/attachments/{attachment_id}
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.
attachment_id Zeichenfolge Die Anlagen-ID.

Hinweis

Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Antworttyp

Die angeforderte Dateianlage, Elementanlage oder Verweisanlage.

Beispielanfrage

Im folgenden Beispiel wird die Datei an ein bestimmtes Ereignis angehängt.

GET https://outlook.office.com/api/beta/me/events/AAMkAGI2WRAAADTG9yAAA=/attachments/AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGI2WRAAADTG9yAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2WRAAADTG9yAAA=')/Attachments('AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=')",
    "Id": "AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=",
    "LastModifiedDateTime": "2014-10-22T00:30:26Z",
    "Name": "Company Party.docx",
    "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "Size": 11647,
    "IsInline": false,
    "ContentId": null,
    "ContentLocation": null,
    "ContentBytes": "UEsDBBQABgAIAAAAIQD...AAF4pAAAAAA=="
}

Beispielanforderung (Verweisanlage)

Das folgende Beispiel ruft die Verweisanlage eines Ereignisses ab.

GET https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments('AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=')

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
    "id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
    "lastModifiedDateTime": "2016-03-22T22:27:20Z",
    "name": "Hydrangea picture",
    "contentType": null,
    "size": 412,
    "isInline": false,
    "sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
    "providerType": "oneDriveBusiness",
    "thumbnailUrl": null,
    "previewUrl": null,
    "permission": "edit",
    "isFolder": false
}

Beispielanforderung ($expand für Anlagen)

Das folgende Beispiel erweitert die 2 Verweisanhänge inline mit den Ereigniseigenschaften und ruft sie ab.

GET https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')?$expand=attachments

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events/$entity",
    "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==\"",
    "id": "AAMkAGE1Mbs88AADggYEcAAA=",
    "createdDateTime": "2016-03-22T22:19:58.1359352Z",
    "lastModifiedDateTime": "2016-03-22T22:39:09.9335289Z",
    "changeKey": "mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==",
    "categories": [
    ],
    "originalStartTimeZone": "Pacific Standard Time",
    "originalEndTimeZone": "Pacific Standard Time",
    "responseStatus": {
        "response": "organizer",
        "time": "0001-01-01T00:00:00Z"
    },
    "iCalUId": "040000008200E00074C5B7101A82E008000000005895FCF78884D10100000000000000001000000099DD7CA6BCF37C4F9F7DAACCADDD6B89",
    "reminderMinutesBeforeStart": 15,
    "isReminderOn": true,
    "hasAttachments": true,
    "subject": "Plan Easter egg hunt!",
    "body": {
        "contentType": "html",
        "content": "<html>\r\n<body>\r\nLet's get organized for this weekend's gathering.\r\n</body>\r\n</html>\r\n"
    },
    "bodyPreview": "Let's get organized for this weekend's gathering.",
    "importance": "normal",
    "sensitivity": "normal",
    "start": {
        "dateTime": "2016-03-26T17:00:00.0000000",
        "timeZone": "UTC"
    },
    "end": {
        "dateTime": "2016-03-26T18:00:00.0000000",
        "timeZone": "UTC"
    },
    "location": {
        "displayName": "",
        "locationType": "default",
        "address": {
            "type": "unknown"
        },
        "coordinates": {
        }
    },
    "locations": [

    ],
    "isAllDay": false,
    "isCancelled": false,
    "isOrganizer": true,
    "recurrence": null,
    "responseRequested": true,
    "seriesMasterId": null,
    "showAs": "busy",
    "type": "singleInstance",
    "attendees": [
        {
            "status": {
                "response": "none",
                "time": "0001-01-01T00:00:00Z"
            },
            "type": "required",
            "emailAddress": {
                "name": "Randi Welch",
                "address": "randiw@contoso.onmicrosoft.com"
            }
        }
    ],
    "organizer": {
        "emailAddress": {
            "name": "Dana Swope",
            "address": "danas@contoso.onmicrosoft.com"
        }
    },
    "webLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADggYEcAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
    "onlineMeetingUrl": null,
    "attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments",
    "attachments": [
        {
            "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
            "id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
            "lastModifiedDateTime": "2016-03-22T22:27:20Z",
            "name": "Hydrangea picture",
            "contentType": null,
            "size": 412,
            "isInline": false,
            "sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
            "providerType": "oneDriveBusiness",
            "thumbnailUrl": null,
            "previewUrl": null,
            "permission": "edit",
            "isFolder": false
        },
        {
            "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
            "id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAE1rHHth7YNLlR9WsgnODy0=",
            "lastModifiedDateTime": "2016-03-22T22:39:09Z",
            "name": "Koala picture",
            "contentType": null,
            "size": 382,
            "isInline": false,
            "sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
            "providerType": "oneDriveBusiness",
            "thumbnailUrl": null,
            "previewUrl": null,
            "permission": "edit",
            "isFolder": false
        }
    ]
}

Beispielanforderung ($expand bei verschachtelten Anlagen)

Das folgende Beispiel ruft ein verschachteltes Anlage-Element ab.

GET https://outlook-sdf.office.com/api/beta/me/events/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item

Beispielantwort

Status code: 200

{
    "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
    "LastModifiedDateTime": "2017-04-25T20:05:55Z",
    "Name": "RE: Changes to GetConditionMetadata handler",
    "ContentType": null,
    "Size": 78927,
    "IsInline": false,
    "Item": {
        "Id": "", 
        "Name": "How to retrieve item attachment using Outlook REST API",
        "ContentType": message/rfc822,
        "Size": 71094,
        "IsInline": false,
        "LastModifiedDateTime": "2015-09-24T05:57:59Z",
    }
}

Anlagen erstellen

Sie können für ein Ereignis eine Dateianlage erstellen oder eine Elementanlage erstellen.

Eine Dateianlage erstellen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Eine Dateianlage zu einem Ereignis hinzufügen.

POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.
Text-Parameter
@odata.type Zeichenfolge #Microsoft.OutlookServices.FileAttachment
Name Zeichenfolge Der Name der Anlage.
ContentBytes Binär Die Datei, die angehängt werden soll.

Antworttyp

Die neue Dateianlage.

Eine Elementanlage erstellen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Eine Anlage zu einem Ereignis hinzufügen.

POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.
Text-Parameter
@odata.type Zeichenfolge #Microsoft.OutlookServices.ItemAttachment
Name Zeichenfolge Der Name der Anlage.
Element Eine Nachricht-, Ereignis- oder Kontakt-Entität. Das anzufügende Element.

Antworttyp

Die neue Elementanlage.

Eine Verweisanlage erstellen

Minimal benötigter Bereich

https://outlook.office.com/calendars.readwrite

Eine Verweisanlage zu einem Ereignis hinzufügen.

POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.
Text-Parameter
@odata.type Zeichenfolge #Microsoft.OutlookServices.ReferenceAttachment
Name Zeichenfolge Der Anzeigename der Anlage. Erforderlich.
SourceUrl Zeichenfolge URL, um den Inhalt der Anlage abzurufen. Wenn dies eine URL zu einem Ordner ist, dann stellen Sie IsFolder auf wahr ein, damit der Ordner in Outlook oder in Outlook im Web korrekt angezeigt wird. Erforderlich.

Geben Sie die Parameter Name und SourceUrl und alle beschreibbaren Verweisanlagen-Eigenschaften im Anforderungstext an.

Antworttyp

Die Verweisanlage.

Beispielanfrage

Das folgende Beispiel fügt eine Verweisanlage einem bestehenden Ereignis hinzu. Die Anlage ist eine Verknüpfung mit einer Datei auf OneDrive for Business.

POST https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments
Content-Type: application/json

{
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
    "Name": "Hydrangea picture", 
    "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg", 
    "ProviderType": "oneDriveBusiness", 
    "Permission": "Edit", 
    "IsFolder": "False" 
 }

Beispielantwort

Statuscode: 201 Erstellt

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
    "Id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
    "LastModifiedDateTime": "2016-03-22T22:27:20Z",
    "Name": "Hydrangea picture",
    "ContentType": null,
    "Size": 412,
    "IsInline": false,
    "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
    "ProviderType": "oneDriveBusiness",
    "ThumbnailUrl": null,
    "PreviewUrl": null,
    "Permission": "edit",
    "IsFolder": false
}

Anlagen löschen

Eine Ereignisanlage löschen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Löscht die angegebene Anlage eines Ereignisses. Die Anlage kann eine Dateianlage, Elementanlage oder Verweisanlage sein.

DELETE https://outlook.office.com/api/beta/me/events/{event_id}/attachments/{attachment_id}
Erforderliche Parameter Typ Beschreibung
URL-Parameter
event_id Zeichenfolge Die Ereignis-ID.
attachment_id Zeichenfolge Die Anlagen-ID.

Beispielanfrage

DELETE https:/outlook.office.com/api/beta/me/events/AAMkAGE0MG4v1OAAA=/attachments/AAMkAGITG9yAAA=

Beispielantwort

Status code: 204

Erinnerungen abrufen

Rufen Sie eine Liste von Ereigniserinnerungen zwischen zwei Terminen aus einem Kalender ab.

Minimal benötigter Bereich

Eine der folgenden Varianten:

GET https://outlook.office.com/api/beta/me/ReminderView(StartDateTime='{DateTime}',EndDateTime='{DateTime}')
Erforderliche Parameter Typ Beschreibung
Header-Parameter
Bevorzugt: outlook.timezone Die Standardzeitzone für Ereignisse in der Antwort.
URL-Parameter
StartDateTime Zeichenfolge Das Startdatum und die Uhrzeit für zurückgegebene Erinnerungen.
EndDateTime Zeichenfolge Das Enddatum und die Uhrzeit für zurückgegebene Erinnerungen.

Verwenden Sie den Header Prefer: outlook.timezone, um die Zeitzone anzugeben, die für die Start- und Endzeiten des Ereignisses in der Antwort verwendet werden soll. Wurde das Ereignis in einer anderen Zeitzone erzeugt, werden die Start- und Endzeiten an die angegebene Zeitzone angepasst.

Weitere Informationen finden sich in dieser Liste für die unterstützten Zeitzonennamen. Wenn der Header Prefer: outlook.timezone nicht angegeben ist, wird die Zeitzone auf UTC gesetzt.

Snooze-Erinnerungen

Eine Erinnerung per Snooze-Funktion auf eine neue Zeit verschieben.

Minimal benötigter Bereich

Eine der folgenden Varianten:

POST https://outlook.office.com/api/beta/me/Events('{id}')/SnoozeReminder
Benötigte Paremeter Typ Beschreibung
URL-Parameter
id Zeichenfolge Die ID des Ereignisses.
Text-Parameter
NewReminderTime DateTimeTimeZone Das neue Datum und die neue Uhrzeit für die Auslösung der Erinnerung.

Erinnerungen zurückweisen

Mit dieser API können Sie eine ausgelöste Erinnerung schließen.

Minimal benötigter Bereich

Eine der folgenden Varianten:

POST https://outlook.office.com/api/beta/me/Events({id})/DismissReminder
Benötigte Paremeter Typ Beschreibung
URL-Parameter
id Zeichenfolge Die ID des Ereignisses.

Kalender abrufen

Sie können eine Kalendersammlung oder einen Kalender abrufen.

Eine Kalender-Sammlung abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Ruft alle Kalender des Benutzers (calendars) oder die Kalender einer bestimmten Kalendergruppe ab.

GET https://outlook.office.com/api/beta/me/calendars
GET https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}/calendars

Hinweis

Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Erforderliche Parameter Typ Beschreibung
URL-Parameter
calender_group_id Zeichenfolge Die Kalendergruppen-ID.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/calendars

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Calendars",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
            "Id": "AAMkAGI2TGuLAAA=",
            "Name": "Calendar",
            "Color": "Auto",
            "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
            "IsDefaultCalendar": true,
            "CanShare":true,
            "CanViewPrivateItems":true,
            "IsShared":false,
            "IsSharedWithMe":false,
            "CanEdit":true,
            "Owner":{
                "Name":"Fanny Downs",
                "Address":"fannyd@adatum.onmicrosoft.com"
            }
        }
    ]
}

Einen Kalender abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Einen Kalender nach ID abrufen. Sie können den Hauptkalender des Benutzers über den Endpunkt ../me/calendar abrufen.

GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}

Hinweis

Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Erforderliche Parameter Typ Beschreibung
URL-Parameter
calendar_id Zeichenfolge Die Kalender-ID.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/calendars/AAMkAGI2TGuLAAA=

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
    "Id": "AAMkAGI2TGuLAAA=",
    "Name": "Calendar",
    "Color": "Auto",
    "IsDefaultCalendar": true,
    "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
    "CanShare":true,
    "CanViewPrivateItems":true,
    "IsShared":false,
    "IsSharedWithMe":false,
    "CanEdit":true,
    "Owner":{
        "Name":"Fanny Downs",
        "Address":"fannyd@adatum.onmicrosoft.com"
    }
}

Antworttyp

Der gewünschte Kalender.

Kalender erstellen

Einen Kalender erstellen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Erstellen Sie einen Kalender in der Standardkalendergruppe über die Verknüpfung ../me/calendars oder in einer bestimmten Kalendergruppe über den Endpunkt calendars.

POST https://outlook.office.com/api/beta/me/calendars
POST https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}/calendars
Erforderliche Parameter Typ Beschreibung
URL-Parameter
calender_group_id Zeichenfolge Die Kalendergruppen-ID, wenn Sie Kalender von einer bestimmten Gruppe abrufen.
Text-Parameter
Name Zeichenfolge Der Name des neuen Kalenders.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/calendars
Content-Type: application/json

{
  "Name": "Volunteer"
}

Beispielantwort

Statuscode: 201

{
    "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
    "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Calendars('AAMkADJmMVAAA=')",
    "Id":"AAMkADJmMVAAA=",
    "Name":"Volunteer",
    "Color":"Auto",
    "IsDefaultCalendar":false,
    "ChangeKey":"DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
    "CanShare":true,
    "CanViewPrivateItems":true,
    "IsShared":false,
    "IsSharedWithMe":false,
    "CanEdit":true,
    "Owner":{
        "Name":"Fanny Downs",
        "Address":"fannyd@adatum.onmicrosoft.com"
    }
}

Antworttyp

Der neue Kalender.

Kalender aktualisieren

Einen Kalender aktualisieren

Minimal benötigter Bereich

Eine der folgenden Varianten:

Beschreibbare Eigenschaften eines Kalenders ändern.

PATCH https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Erforderliche Parameter Typ Beschreibung
URL-Parameter
calendar_id Zeichenfolge Die Kalender-ID.

Beispielanfrage

PATCH https://outlook.office.com/api/beta/me/calendars/AAMkAGE4xLIAAA=
Content-Type: application/json

{
  "Name": "Social events"
}

Beispielantwort

Statuscode: 200

{
    "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
    "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Calendars('AAMkADJmMVAAA=')",
    "Id":"AAMkADJmMVAAA=",
    "Name":"Social events",
    "Color":"Auto",
    "IsDefaultCalendar":false,
    "ChangeKey":"DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
    "CanShare":true,
    "CanViewPrivateItems":true,
    "IsShared":false,
    "IsSharedWithMe":false,
    "CanEdit":true,
    "Owner":{
        "Name":"Fanny Downs",
        "Address":"fannyd@adatum.onmicrosoft.com"
    }
}

Antworttyp

Der aktualisierte Kalender.

Kalender löschen

Einen Kalender löschen

Minimal benötigter Bereich

Eine der folgenden Varianten:

DELETE https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Erforderliche Parameter Typ Beschreibung
URL-Parameter
calendar_id Zeichenfolge Die Kalender-ID.

Beispielanfrage

DELETE https://outlook.office.com/api/beta/me/calendars/AAMkAGE4xLIAAA=

Beispielantwort

Status code: 204

Kalendergruppen abrufen

Sie können eine Kalendergruppensammlung oder eine Kalendergruppe abrufen.

Hinweis

Outlook.com unterstützt nur die Standardkalendergruppe, die über die Verknüpfung ../me/calendars erreichbar ist.

Eine Kalendergruppensammlung abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Rufen Sie die Kalendergruppen in einem Postfach ab.

GET https://outlook.office.com/api/beta/me/calendargroups

Hinweis

Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/calendargroups

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
            "Id": "AAMkAGI2TGuKAAA=",
            "Name": "My Calendars",
            "ClassId": "0006f0b7-0000-0000-c000-000000000046",
            "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuMAAA=')",
            "Id": "AAMkAGI2TGuMAAA=",
            "Name": "Other Calendars",
            "ClassId": "0006f0b8-0000-0000-c000-000000000046",
            "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0/A=="
        }
    ]
}

Antworttyp

Die gewünschte Kalendergruppen-Sammlung.

Eine Kalendergruppe abrufen

Minimal benötigter Bereich

Eine der folgenden Varianten:

Rufen Sie eine Kalendergruppe nach ID ab.

GET https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}

Hinweis

Siehe OData Abfrage-Parameter für Filter-, Sortier- und Paging-Parameter.

Erforderliche Parameter Typ Beschreibung
URL-Parameter
calendar_group_id Zeichenfolge Die Kalendergruppen-ID.

Beispielanfrage

GET https://outlook.office.com/api/beta/me/calendargroups/AAMkAGI2TGuKAAA=

Beispielantwort

Statuscode: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
    "Id": "AAMkAGI2TGuKAAA=",
    "Name": "My Calendars",
    "ClassId": "0006f0b7-0000-0000-c000-000000000046",
    "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
}

Antworttyp

Die gewünschte Kalendergruppe.

Kalendergruppen erstellen

Eine Kalendergruppe erstellen. Name ist die einzige beschreibbare Eigenschaft für eine Kalendergruppe.

Hinweis

Outlook.com unterstützt nur die Standardkalendergruppe, die über die Verknüpfung ../me/calendars erreichbar ist. Sie können keine andere Kalendergruppe in Outlook.com erstellen.

Eine neue Kalendergruppe erstellen

Minimal benötigter Bereich

Eine der folgenden Varianten:

POST https://outlook.office.com/api/beta/me/calendargroups
Erforderliche Parameter Typ Beschreibung
URL-Parameter
Text-Parameter
Name Zeichenfolge Der Name der Kalendergruppe.

Beispielanfrage

POST https://outlook.office.com/api/beta/me/calendargroups
Content-Type: application/json

{
  "Name": "Birthdays"
}

Beispielantwort

Statuscode: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0M4xLGAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==\"",
  "Id": "AAMkAGE0M4xLGAAA=",
  "Name": "Birthdays",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==",
  "ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}

Antworttyp

Die neue Kalendergruppe.

Kalendergruppen aktualisieren

Eine Kalendergruppe aktualisieren

Minimal benötigter Bereich

Eine der folgenden Varianten:

Ändern Sie den Namen einer Kalendergruppe. Name ist die einzige beschreibbare Eigenschaft einer Kalendergruppe.

PATCH https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Erforderliche Parameter Typ Beschreibung
URL-Parameter
calendar_group_id Zeichenfolge Die Kalendergruppen-ID.
Text-Parameter
Name Zeichenfolge Der Name der aktualisierten Kalendergruppe.

Beispielanfrage

PATCH https://outlook.office.com/api/beta/me/calendargroups/AAMkAGE0M4xLGAAA=
Content-Type: application/json

{
  "Name": "Holidays"
}

Beispielantwort

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
  "@odata.id": "https://https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0MGM4xLGAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==\"",
  "Id": "AAMkAGE0MGM4xLGAAA=",
  "Name": "Holidays",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==",
  "ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}

Antworttyp

Die aktualisierte Kalendergruppe.

Kalendergruppen löschen

Hinweis

Outlook.com unterstützt nur die Standardkalendergruppe, die über die Verknüpfung ../me/calendars erreichbar ist. Löschen Sie diese Kalendergruppe nicht.

Eine Kalendergruppe löschen

Minimal benötigter Bereich

Eine der folgenden Varianten:

DELETE https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Erforderliche Parameter Typ Beschreibung
URL-Parameter
calendar_group_id Zeichenfolge Die Kalendergruppen-ID.

Beispielanfrage

DELETE https://outlook.office.com/api/beta/me/calendargroups/AAMkAGE0MGM4xLGAAA=

Beispielantwort

Status code: 204

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.

Oder erfahren Sie mehr über die Verwendung der Office 365-Plattform: