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.
- Ereignisse abrufen
- Ereignisse synchronisieren
- Besprechungszeiten finden
- Besprechungsräume abrufen (Vorschauversion)
- Ereignisse erstellen
- Ereignisse aktualisieren
- Auf Ereignisse antworten
- Forward-Ereignisse (Vorschauversion)
- Ereignisse löschen
- Ereignisse absagen (Vorschauversion)
- Anlagen abrufen
- Anlagen erstellen
- Anlagen löschen
- Erinnerungen abrufen
- Snooze-Erinnerungen
- Erinnerungen zurückweisen
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.
- Kalendergruppen abrufen
- Kalendergruppen erstellen
- Kalendergruppen aktualisieren
- Kalendergruppen löschen
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
- Serienmaster und Einzelereignisse abrufen
- Ereignisinstanzen abrufen)
- Abrufen eines Ereignisses
Eine Kalenderansicht abrufen
Minimal benötigter Bereich
Eine der folgenden Varianten:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 überskipToken
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:
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.)
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
unddeltaToken
. - Die zweite Anforderung verwendet
deltatoken
. Die zweite Antwort gibt ein Ereignis zurück, einnextLink
undskipToken
.
Um die Synchronisation abzuschließen, verwenden Sie skipToken
, was von der vorherigen Sync-Anfrage zurückgegeben wird, bis die Sync-Antwort deltaLink
und deltaToken
zurü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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 den Teilnehmern zu treffen
- Finden Sie eine Zeit, sich an einem bekannten Ort zu treffen und erhalten Sie einen Grund für jeden Vorschlag
- Finden Sie eine Zeit zum Treffen, es ist aber kein Teilnehmer verfügbar
- Finden Sie eine Zeit, um sich zu treffen, es sind aber nur einige Teilnehmer verfügbar
- Finden Sie freie Zeitfenster nur für den angemeldeten Benutzer
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)
- Abrufen von Räumen (Vorschauversion)
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
Ä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:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_aktualisieren
- wl.events_erstellen
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.
- Beginnen Sie mit den E-Mail-, Kalender- und Kontakte-REST-APIs.
- Möchten Sie Beispiele sehen? Wir haben sie.
Oder erfahren Sie mehr über die Verwendung der Office 365-Plattform:
- Outlook-REST-API im Outlook-Dev-Center
- Überblick über die Entwicklung auf der Office 365-Plattform
- Office 365 App-Authentifizierung und Ressourcen-Autorisierung
- Registrieren Sie Ihre Anwendung manuell bei Azure AD, damit sie auf Office 365-APIs zugreifen kann
- E-Mail-API-Verweis
- Kontakte-API-Verweis
- Aufgaben-REST-API (Vorschauversion)
- OneDrive-API
- Ermittlungsdienst REST-API-Operationen-Verweis
- Ressourcenreferenz für die REST-APIs E-Mail, Kalender und Kontakte