Table of contents
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Zuletzt aktualisiert: 20.06.2018

Ereignisse in einer Outlook-Kalenderansicht synchronisieren

Gilt für: Exchange Online | Office 365

Sie können die Outlook-Kalendar-REST-API verwenden, um neue, geänderte oder gelöschte Ereignisse innerhalb eines bestimmten Zeitbereichs aus dem Kalender eines Benutzers zu synchronisieren und zu erhalten. Die API zur Synchronisierung einer Kalenderansicht ist eine GET-Operation in einer Kalenderansicht, die folgendes angibt:

  • Den zu synchronisierende Kalender
  • Start- und Enddatum des zu synchronisierenden Ereignisbereichs
  • Spezielle Anfrage-Header, die diese GET-Operation von einer GET-Kalenderansicht-Operation unterscheiden:
    • "Prefer: odata.track-changes" - Sie müssen diesen Header in alle Synchronisierungsanforderungen aufnehmen, mit Ausnahme derjenigen, die eine skipToken enthalten (weiter unten in Schritt 2 erläutert).
    • "Prefer: odata.maxpagesize={x}" - Sie können diesen Header einfügen, um die maximale Anzahl der vollständigen Ereignisse anzugeben, die die Synchronisationsanforderung auf einmal zurückgibt.

Die Synchronisation einer Kalenderansicht kann eine oder mehrere Synchronisationsanforderungen umfassen; jede Synchronisationsanforderung ist ein GET-Aufruf. Die Anzahl der GET-Aufrufe, die Sie zum Synchronisieren einer Kalenderansicht benötigen, hängt vom "Delta" (wie viele neue, aktualisierte oder gelöschte Ereignisse) im angegebenen Zeitbereich und der maxpagesize ab, die Sie für jeden GET-Aufruf angeben. Nachdem Sie eine Kalenderansicht mit einer Runde von GET-Aufrufen synchronisiert haben, geben weitere Synchronisationsversuche keine Deltas mehr zurück, bis Ereignisse in dieser Kalenderansicht hinzugefügt, geändert oder wieder gelöscht werden.

Workflow zum Synchronisieren einer Kalenderansicht

Im Folgenden wird beschrieben, wie mehrere GET-Aufrufe in einer typischen Synchronisationsrunde verkettet werden.

Erste Synchronisationsanforderungen geben einen Deltalink zurück. Verwenden Sie das deltaToken und jegliche nachfolgenden skipToken, um die nächste Anforderungen zu stellen. Wird ein Deltalink erneut zurückgegeben, ist der Client mit dem Dienst synchronisiert.

  1. Initial sync request: Die allererste Synchronisierungsnanforderung setzt den Synchronisierungsstatus.
  2. Initial sync response:
    • Suchen Sie im Response-Header nach "Preference-Applied: odata.track-changes", um einen erfolgreichen Synchronisationsversuch zu bestätigen und die Ressource unterstützt die Synchronisation.
    • Wenn der Synchronisationsversuch erfolgreich war, enthält die erste Antwort immer einen @odata.deltaLink mit einem Wert deltaToken. Wenn die Antwort Daten enthält, speichern Sie den Wert deltaToken für die zweite Anfrage.
    • Wenn die erste Antwort nicht erfolgreich war oder keine Daten zurückgibt, die anzeigen, dass es keine Ereignisse in der angegebenen Kalenderansicht gibt, endet diese Synchronisationsrunde.
  3. Nachfolgende Synchronisationsanforderung: Verwenden Sie den Wert deltaToken oder skipToken aus der vorherigen Anforderung, um die nächste Anforderung zu stellen. Siehe die Beispiele zweite und dritte Synchronisierungsanforderung.
  4. Subsequent sync response:
    • Wenn die Antwort irgendwelche Daten zurückgibt und mehr Daten in diesem Zeitbereich zu synchronisieren sind, würde die Antwort einen @odata.nextLink und einen skipToken-Wert enthalten. Speichern Sie skipToken für die nächste Synchronisierungsanforderung.
    • Gehen Sie zurück zu Schritt 3, folgen Sie nextLink, falls vorhanden, wenden Sie den entsprechenden Wert skipToken in der nächsten Synchronisationsanforderung an und folgen Sie allen nachfolgenden nextLink, bis Sie alle Daten im Zeitbereich für diesen Kalender synchronisiert haben.
  5. Endgültige Synchronisierungsantwort: Wenn alle Ereignisse in der Kalenderansicht synchronisiert sind, würde die endgültige Antwort in dieser Runde wieder @odata.deltaLink und deltaToken enthalten. Speichern Sie den Wert deltaToken für die nächste Synchronisationsrunde.

Die allererste Runde von Synchronisationsanforderungen erhält alle Ereignisse innerhalb des angegebenen Zeitbereichs und Kalenders. Mit dem Wert deltaToken aus der vorherigen Runde gibt die nächste Runde der Synchronisation nur die Unterschiede (neu hinzugefügte, geänderte oder gelöschte Ereignisse) seit der letzten Runde zurück.

Wiederkehrende Ereignisse und Synchronisation

Hier sind die Informationen, die Sie kennen müssen, wie z.B. wiederkehrende Ereignisse bei der Synchronisierung von Kalenderansichten behandelt werden.

  • Der Dienst führt eine Besprechungserweiterung durch und sendet das Serienmaster-Ereignis und alle Ereignisinstanzen innerhalb des Zeitfensters.
  • Das Serienmaster-Ereignis enthält das Serienmuster und das Zeitfenster für die Serie.
  • Die Ereignisinstanzen enthalten ihre Start- und Endzeitinformationen sowie Informationen über die Ausnahme des Ereignisauftretens.

Gelöschte Ereignisse und Synchronisation

Gelöschte Ereignisse enthalten eine Grundeigenschaft mit dem Wert "deleted", um eine gelöschte Entität anzuzeigen. Wenn das Ereignis ein wiederkehrendes Master-Ereignis ist, sollten Sie alle Vorkommen und Ausnahmen löschen.

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:

Anhang: Beispiele für Synchronisationsanforderungen und -antworten

Dieser Abschnitt enthält eine Runde von 3 Synchronisationsanforderungen und Antworten für einen Zeitbereich im Standardkalender des Benutzers.

Erste Synchronisationsanforderung

GET https://contoso.com/api/v1.0/me/calendarview?startDateTime=2015-04-25T00:00:00Z&endDateTime=2015-05-30T00:00:00Z HTTP/1.1

Der Anforderungs-Header enthält die folgenden 2 Zeilen und fordert bis zu 3 vollständige Ereignisse für die Synchronisationsantwort an.

Prefer: odata.track-changes
Prefer: odata.maxpagesize=3

Erste Synchronisationsantwort

Der Antwort-Header enthält diese Zeilen und zeigt damit an, dass der Synchronisationsversuch erfolgreich war:

HTTP/1.1 200 OK
Preference-Applied: odata.track-changes

Der Antworttext enthält 3 einzelne Ereignisse ohne Wiederholungen und enthält @odata.deltaLink mit einem deltaToken Wert.

{
    "@odata.context": "https://contoso.com/api/v1.0/$metadata#Me/CalendarView",
    "value": [
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE1M2==_bs88AAAFKPQUAAA=')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAABSlf9A==\"",
            "Id": "AAMkAGE1M2==_bs88AAAFKPQUAAA=",
            "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAABSlf9A==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-04-24T23:18:44.1912484Z",
            "DateTimeLastModified": "2015-04-24T23:18:44.8932487Z",
            "Subject": "Bug bash",
            "BodyPreview": "Let's get this right!",
            "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\n</body>\r\n</html>\r\n"
            },
            "Importance": "Normal",
            "HasAttachments": false,
            "Start": "2015-04-24T23:30:00Z",
            "StartTimeZone": "Pacific Standard Time",
            "End": "2015-04-25T00:00:00Z",
            "EndTimeZone": "Pacific Standard Time",
            "Reminder": 15,
            "Location": {
                "DisplayName": "My house",
                "Address": {
                    "Street": "",
                    "City": "",
                    "State": "",
                    "CountryOrRegion": "",
                    "PostalCode": ""
                },
                "Coordinates": {
                    "Accuracy": "NaN",
                    "Altitude": "NaN",
                    "AltitudeAccuracy": "NaN",
                    "Latitude": "NaN",
                    "Longitude": "NaN"
                }
            },
            "ResponseStatus": {
                "Response": "Organizer",
                "Time": "0001-01-01T00:00:00Z"
            },
            "ShowAs": "Busy",
            "IsAllDay": false,
            "IsCancelled": false,
            "IsOrganizer": true,
            "ResponseRequested": true,
            "Type": "SingleInstance",
            "SeriesMasterId": null,
            "Attendees": [
                {
                    "EmailAddress": {
                        "Address": "may@contoso.com",
                        "Name": "May Walton"
                    },
                    "Status": {
                        "Response": "None",
                        "Time": "0001-01-01T00:00:00Z"
                    },
                    "Type": "Required"
                }
            ],
            "Recurrence": null,
            "Organizer": {
                "EmailAddress": {
                    "Address": "chasity@contoso.com",
                    "Name": "Chasity Bonner"
                }
            },
            "iCalUId": "040000008200==F283EB",
            "WebLink": "https://contoso.com/owa/?ItemID=AAMkAGE1M2%3D%3D%2Bbs88AAAAAAENAACY4MQpaFz9SbqUDe4%2Bbs88AAAFKPQUAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE1M2==_bs88AAAFKPQXAAA=')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAABSlf+A==\"",
            "Id": "AAMkAGE1M2==_bs88AAAFKPQXAAA=",
            "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAABSlf+A==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-04-25T03:23:32.2628681Z",
            "DateTimeLastModified": "2015-04-25T03:23:32.2784683Z",
            "Subject": "Dinner!",
            "BodyPreview": "",
            "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\n</body>\r\n</html>\r\n"
            },
            "Importance": "Normal",
            "HasAttachments": false,
            "Start": "2015-04-25T01:00:00Z",
            "StartTimeZone": "Eastern Standard Time",
            "End": "2015-04-25T01:30:00Z",
            "EndTimeZone": "Eastern Standard Time",
            "Reminder": 15,
            "Location": {
                "DisplayName": "Kitchen",
                "Address": {
                    "Street": "",
                    "City": "",
                    "State": "",
                    "CountryOrRegion": "",
                    "PostalCode": ""
                },
                "Coordinates": {
                    "Accuracy": "NaN",
                    "Altitude": "NaN",
                    "AltitudeAccuracy": "NaN",
                    "Latitude": "NaN",
                    "Longitude": "NaN"
                }
            },
            "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,
            "Organizer": {
                "EmailAddress": {
                    "Address": "chasity@contoso.com",
                    "Name": "Chasity Bonner"
                }
            },
            "iCalUId": "040000008200==4F6A35",
            "WebLink": "https://contoso.com/owa/?ItemID=AAMkAGE1M2%3D%3D%2Bbs88AAAFKPQXAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE1M2==_bs88AAAFKPQcAAA=')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAABSlgBw==\"",
            "Id": "AAMkAGE1M2==_bs88AAAFKPQcAAA=",
            "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAABSlgBw==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-04-26T02:54:03.4260923Z",
            "DateTimeLastModified": "2015-04-26T02:54:03.6132924Z",
            "Subject": "Discuss all the 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": "2015-04-26T02:00:00Z",
            "StartTimeZone": "Pacific Standard Time",
            "End": "2015-04-26T03:00:00Z",
            "EndTimeZone": "Pacific Standard Time",
            "Reminder": 15,
            "Location": {
                "DisplayName": "",
                "Address": null,
                "Coordinates": null
            },
            "ResponseStatus": {
                "Response": "Organizer",
                "Time": "0001-01-01T00:00:00Z"
            },
            "ShowAs": "Busy",
            "IsAllDay": false,
            "IsCancelled": false,
            "IsOrganizer": true,
            "ResponseRequested": true,
            "Type": "SingleInstance",
            "SeriesMasterId": null,
            "Attendees": [
                {
                    "EmailAddress": {
                        "Address": "kristopher@contoso.com",
                        "Name": "Kristopher Nemeth"
                    },
                    "Status": {
                        "Response": "None",
                        "Time": "0001-01-01T00:00:00Z"
                    },
                    "Type": "Required"
                }
            ],
            "Recurrence": null,
            "Organizer": {
                "EmailAddress": {
                    "Address": "chasity@contoso.com",
                    "Name": "Chasity Bonner"
                }
            },
            "iCalUId": "040000008200==D1D0BF",
            "WebLink": "https://contoso.com/owa/?ItemID=AAMkAGE1M2%3D%3D%2Bbs88AAAAAAENAACY4MQpaFz9SbqUDe4%2Bbs88AAAFKPQcAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
        }
    ],
    "@odata.deltaLink": "https://contoso.com/api/v1.0/me/calendarview/?startDateTime=2015-04-25T00%3a00%3a00Z&endDateTime=2015-05-30T00%3a00%3a00Z&%24deltatoken=d17ffb043b724d3c9521e8464ed318d6"
}

Zweite Synchronisationsanforderung

Die zweite Synchronisationsanforderung verwendet den Wert deltaToken aus der ersten Antwort.

GET https://contoso.com/api/v1.0/me/calendarview?startDateTime=2015-04-25T00:00:00Z&endDateTime=2015-05-30T00:00:00Z&$deltatoken=d17ffb043b724d3c9521e8464ed318d6 HTTP/1.1

Der Anforderungs-Header enthält die folgenden 2 Zeilen:

Prefer: odata.track-changes
Prefer: odata.maxpagesize=3

Zweite Synchronisationsantwort

Der zweite Antwort-Header enthält diese Zeile, die anzeigt, dass der Synchronisationsversuch erfolgreich war:

HTTP/1.1 200 OK

Der zweite Antworttext enthält ein Serien-Masterereignis, 2 Einzelinstanzen und 5 Ereignisvorkommen, die mit dem Serien-Master-Ereignis verknüpft sind. Der Antworttext enthält auch einen @odata.nextLink mit einem skipToken Wert.

{
    "@odata.context": "https://contoso.com/api/v1.0/$metadata#Me/CalendarView/$delta",
    "value": [
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE==_bs88AAAFKPQVAAA=')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAB7h3QQ==\"",
            "Id": "AAMkAGE==_bs88AAAFKPQVAAA=",
            "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAAB7h3QQ==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-04-25T00:18:24.7188484Z",
            "DateTimeLastModified": "2015-04-29T01:27:42.8480225Z",
            "Subject": "Little nap",
            "BodyPreview": "",
            "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\n</body>\r\n</html>\r\n"
            },
            "Importance": "Normal",
            "HasAttachments": false,
            "Start": "2015-04-25T00:30:00Z",
            "StartTimeZone": "Pacific Standard Time",
            "End": "2015-04-25T01:00:00Z",
            "EndTimeZone": "Pacific Standard Time",
            "Reminder": 15,
            "Location": {
                "DisplayName": "In the sun",
                "Address": {
                    "Street": "",
                    "City": "",
                    "State": "",
                    "CountryOrRegion": "",
                    "PostalCode": ""
                },
                "Coordinates": {
                    "Accuracy": "NaN",
                    "Altitude": "NaN",
                    "AltitudeAccuracy": "NaN",
                    "Latitude": "NaN",
                    "Longitude": "NaN"
                }
            },
            "ResponseStatus": {
                "Response": "Organizer",
                "Time": "0001-01-01T00:00:00Z"
            },
            "ShowAs": "Busy",
            "IsAllDay": false,
            "IsCancelled": false,
            "IsOrganizer": true,
            "ResponseRequested": true,
            "Type": "SeriesMaster",
            "SeriesMasterId": null,
            "Attendees": [
            ],
            "Recurrence": {
                "Pattern": {
                    "Type": "Daily",
                    "Interval": 1,
                    "Month": 0,
                    "Index": "First",
                    "FirstDayOfWeek": "Sunday",
                    "DayOfMonth": 0
                },
                "Range": {
                    "Type": "EndDate",
                    "StartDate": "2015-04-24T00:00:00-07:00",
                    "EndDate": "2015-04-28T00:00:00-07:00",
                    "NumberOfOccurrences": 0
                }
            },
            "Organizer": {
                "EmailAddress": {
                    "Address": "chasity@contoso.com",
                    "Name": "Chasity Bonner"
                }
            },
            "iCalUId": "040000008200==C98B54",
            "WebLink": "https://contoso.com/owa/?ItemID=AAMkAGE%3D%3D%2Bbs88AAAFKPQVAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE==_bs88AAAFKPQdAAA=')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAABSlgCg==\"",
            "Id": "AAMkAGE==_bs88AAAFKPQdAAA=",
            "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAABSlgCg==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-04-26T02:54:17.4192923Z",
            "DateTimeLastModified": "2015-04-26T02:54:17.6064929Z",
            "Subject": "Discuss all the 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": "2015-04-26T02:00:00Z",
            "StartTimeZone": "Pacific Standard Time",
            "End": "2015-04-26T03:00:00Z",
            "EndTimeZone": "Pacific Standard Time",
            "Reminder": 15,
            "Location": {
                "DisplayName": "",
                "Address": null,
                "Coordinates": null
            },
            "ResponseStatus": {
                "Response": "Organizer",
                "Time": "0001-01-01T00:00:00Z"
            },
            "ShowAs": "Busy",
            "IsAllDay": false,
            "IsCancelled": false,
            "IsOrganizer": true,
            "ResponseRequested": true,
            "Type": "SingleInstance",
            "SeriesMasterId": null,
            "Attendees": [
                {
                    "EmailAddress": {
                        "Address": "diana@contoso.com",
                        "Name": "Diana Michael"
                    },
                    "Status": {
                        "Response": "None",
                        "Time": "0001-01-01T00:00:00Z"
                    },
                    "Type": "Required"
                }
            ],
            "Recurrence": null,
            "Organizer": {
                "EmailAddress": {
                    "Address": "chasity@contoso.com",
                    "Name": "Chasity Bonner"
                }
            },
            "iCalUId": "040000008200==CDA6AD",
            "WebLink": "https://contoso.com/owa/?ItemID=AAMkAGE%3D%3D%2Bbs88AAAFKPQdAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
        },

        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE==_bs88AAAKB6KtAAA=')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAACgkNZA==\"",
            "Id": "AAMkAGE==_bs88AAAKB6KtAAA=",
            "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAACgkNZA==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-05-05T11:15:43.0696852Z",
            "DateTimeLastModified": "2015-05-05T11:15:43.1944851Z",
            "Subject": "Outlook APIs talk",
            "BodyPreview": "",
            "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\n</body>\r\n</html>\r\n"
            },
            "Importance": "Normal",
            "HasAttachments": false,
            "Start": "2015-05-06T17:30:00Z",
            "StartTimeZone": "Pacific Standard Time",
            "End": "2015-05-06T18:30:00Z",
            "EndTimeZone": "Pacific Standard Time",
            "Reminder": 15,
            "Location": {
                "DisplayName": "Downtown park",
                "Address": {
                    "Street": "",
                    "City": "",
                    "State": "",
                    "CountryOrRegion": "",
                    "PostalCode": ""
                },
                "Coordinates": {
                    "Accuracy": "NaN",
                    "Altitude": "NaN",
                    "AltitudeAccuracy": "NaN",
                    "Latitude": "NaN",
                    "Longitude": "NaN"
                }
            },
            "ResponseStatus": {
                "Response": "NotResponded",
                "Time": "0001-01-01T00:00:00Z"
            },
            "ShowAs": "Tentative",
            "IsAllDay": false,
            "IsCancelled": false,
            "IsOrganizer": false,
            "ResponseRequested": true,
            "Type": "SingleInstance",
            "SeriesMasterId": null,
            "Attendees": [
                {
                    "EmailAddress": {
                        "Address": "Donovan@contoso.com",
                        "Name": "Donovan Sandberg"
                    },
                    "Status": null,
                    "Type": "Required"
                },
                {
                    "EmailAddress": {
                        "Address": "may@contoso.com",
                        "Name": "May Walton"
                    },
                    "Status": null,
                    "Type": "Required"
                },
                {
                    "EmailAddress": {
                        "Address": "Kristopher@contoso.com",
                        "Name": "Kristopher Nemeth"
                    },
                    "Status": null,
                    "Type": "Required"
                }
            ],
            "Recurrence": null,
            "Organizer": {
                "EmailAddress": {
                    "Address": "Donovan@contoso.com",
                    "Name": "Donovan Sandberg"
                }
            },
            "iCalUId": "040000008200==C81231",
            "WebLink": "https://contoso.com/owa/?ItemID=AAMkAGE%3D%3d%2Bbs88AAAKB6KtAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAB7h3QQ==\"",
            "Id": "AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==",
            "SeriesMasterId": "AAMkAGE_bs88AAAFKPQVAAA=",
            "Start": "2015-04-25T00:30:00Z",
            "End": "2015-04-25T01:00:00Z",
            "Type": "Occurrence"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAB7h3QQ==\"",
            "Id": "AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==",
            "SeriesMasterId": "AAMkAGE_bs88AAAFKPQVAAA=",
            "Start": "2015-04-26T00:30:00Z",
            "End": "2015-04-26T01:00:00Z",
            "Type": "Occurrence"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAB7h3QQ==\"",
            "Id": "AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==",
            "SeriesMasterId": "AAMkAGE_bs88AAAFKPQVAAA=",
            "Start": "2015-04-27T00:30:00Z",
            "End": "2015-04-27T01:00:00Z",
            "Type": "Occurrence"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAB7h3QQ==\"",
            "Id": "AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==",
            "SeriesMasterId": "AAMkAGE_bs88AAAFKPQVAAA=",
            "Start": "2015-04-28T00:30:00Z",
            "End": "2015-04-28T01:00:00Z",
            "Type": "Occurrence"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAB7h3QQ==\"",
            "Id": "AAMkAGE-Um6lA3uPm7PPAAABSj0FQAAEA==",
            "SeriesMasterId": "AAMkAGE_bs88AAAFKPQVAAA=",
            "Start": "2015-04-29T00:30:00Z",
            "End": "2015-04-29T01:00:00Z",
            "Type": "Occurrence"
        }
    ],
    "@odata.nextLink": "https://contoso.com/api/v1.0/me/calendarview/?startDateTime=2015-04-25T00%3a00%3a00Z&endDateTime=2015-05-30T00%3a00%3a00Z&%24skipToken=a1e5b10261804221aceb856143b8af19"
}

Dritte Synchronisationsanforderung

Die dritte Synchronisationsanforderung verwendet den Wert skipToken aus der zweiten Antwort.

GET https://contoso.com/api/v1.0/me/calendarview?startDateTime=2015-04-25T00:00:00Z&endDateTime=2015-05-30T00:00:00Z&$skiptoken=a1e5b10261804221aceb856143b8af19 HTTP/1.1

Der Anforderungs-Header enthält die folgenden 2 Zeilen:

Prefer: odata.track-changes
Prefer: odata.maxpagesize=3

Endgültige Synchronisationsantwort

Der endgültie Antwort-Header enthält diese Zeile, die anzeigt, dass der Synchronisationsversuch erfolgreich war:

HTTP/1.1 200 OK

Der endgültige Antworttext enthält ein Master-Serienereignis und 4 Ereignisvorkommen, die mit dem Serien-Masterereignis verbunden sind. Der Antworttext enthält auch @odata.deltaLink mit einem deltaToken Wert, der anzeigt, dass die Synchronisation für diese Kalenderansicht abgeschlossen ist.


{
    "@odata.context": "https://contoso.com/api/v1.0/$metadata#Me/CalendarView/$delta",
    "value": [
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE==_bs88AAAKB6KrAAA=')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAACgkNYA==\"",
            "Id": "AAMkAGE==_bs88AAAKB6KrAAA=",
            "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAACgkNYA==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-03-05T11:14:13.7752849Z",
            "DateTimeLastModified": "2015-03-05T11:14:13.8220851Z",
            "Subject": "Breakfast at Cafe",
            "BodyPreview": "",
            "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\n</body>\r\n</html>\r\n"
            },
            "Importance": "Normal",
            "HasAttachments": false,
            "Start": "2015-04-27T15:00:00Z",
            "StartTimeZone": "Pacific Standard Time",
            "End": "2015-04-27T16:00:00Z",
            "EndTimeZone": "Pacific Standard Time",
            "Reminder": 15,
            "Location": {
                "DisplayName": "City Hall",
                "Address": {
                    "Street": "",
                    "City": "",
                    "State": "",
                    "CountryOrRegion": "",
                    "PostalCode": ""
                },
                "Coordinates": {
                    "Accuracy": "NaN",
                    "Altitude": "NaN",
                    "AltitudeAccuracy": "NaN",
                    "Latitude": "NaN",
                    "Longitude": "NaN"
                }
            },
            "ResponseStatus": {
                "Response": "NotResponded",
                "Time": "0001-01-01T00:00:00Z"
            },
            "ShowAs": "Tentative",
            "IsAllDay": false,
            "IsCancelled": false,
            "IsOrganizer": false,
            "ResponseRequested": true,
            "Type": "SeriesMaster",
            "SeriesMasterId": null,
            "Attendees": [
                {
                    "EmailAddress": {
                        "Address": "Donovan@contoso.com",
                        "Name": "Donovan Sandberg"
                    },
                    "Status": null,
                    "Type": "Required"
                },
                {
                    "EmailAddress": {
                        "Address": "May@contoso.com",
                        "Name": "May Walton"
                    },
                    "Status": null,
                    "Type": "Required"
                },
                {
                    "EmailAddress": {
                        "Address": "Kristopher@contoso.com",
                        "Name": "Kristopher Nemeth"
                    },
                    "Status": null,
                    "Type": "Required"
                }
            ],
            "Recurrence": {
                "Pattern": {
                    "Type": "Daily",
                    "Interval": 1,
                    "Month": 0,
                    "Index": "First",
                    "FirstDayOfWeek": "Sunday",
                    "DayOfMonth": 0
                },
                "Range": {
                    "Type": "EndDate",
                    "StartDate": "2015-04-27T00:00:00-07:00",
                    "EndDate": "2015-04-30T00:00:00-07:00",
                    "NumberOfOccurrences": 0
                }
            },
            "Organizer": {
                "EmailAddress": {
                    "Address": "Donovan@contoso.com",
                    "Name": "Donovan Sandberg"
                }
            },
            "iCalUId": "040000008200==D272AE",
            "WebLink": "https://contoso.com/owa/?ItemID=AAMkAGE%3D%3D2Bbs88AAAKB6KrAAA3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE==7PPAAACgeiqwAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAACgkNYA==\"",
            "Id": "AAMkAGE==7PPAAACgeiqwAAEA==",
            "SeriesMasterId": "AAMkAGE==_bs88AAAKB6KrAAA=",
            "Start": "2015-04-27T15:00:00Z",
            "End": "2015-04-27T16:00:00Z",
            "Type": "Occurrence"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE==7PPAAACgeiqwAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAACgkNYA==\"",
            "Id": "AAMkAGE==7PPAAACgeiqwAAEA==",
            "SeriesMasterId": "AAMkAGE==_bs88AAAKB6KrAAA=",
            "Start": "2015-04-28T15:00:00Z",
            "End": "2015-04-28T16:00:00Z",
            "Type": "Occurrence"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE==7PPAAACgeiqwAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAACgkNYA==\"",
            "Id": "AAMkAGE==7PPAAACgeiqwAAEA==",
            "SeriesMasterId": "AAMkAGE==_bs88AAAKB6KrAAA=",
            "Start": "2015-04-29T15:00:00Z",
            "End": "2015-04-29T16:00:00Z",
            "Type": "Occurrence"
        },
        {
            "@odata.id": "https://contoso.com/api/v1.0/Users('chasity@contoso.com')/Events('AAMkAGE==7PPAAACgeiqwAAEA==')",
            "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAACgkNYA==\"",
            "Id": "AAMkAGE==7PPAAACgeiqwAAEA==",
            "SeriesMasterId": "AAMkAGE==_bs88AAAKB6KrAAA=",
            "Start": "2015-04-30T15:00:00Z",
            "End": "2015-04-30T16:00:00Z",
            "Type": "Occurrence"
        },

    ],
    "@odata.deltaLink": "https://contoso.com/api/v1.0/me/calendarview/?startDateTime=2015-04-25T00%3a00%3a00Z&endDateTime=2015-05-30T00%3a00%3a00Z&%24deltaToken=294a8f04cc0345c5ae093d484629e186"
}
© 2018 Microsoft