Freigeben über


Arbeiten mit Kalendern und Ereignissen mithilfe des Microsoft Graph-API

Die Microsoft Graph-Kalender-API stellt Kalender, calendarGroup, Ereignis und andere Ressourcen bereit, mit denen Sie Ereignisse und Besprechungen erstellen, arbeitsfähige Besprechungszeiten finden, Teilnehmer verwalten und vieles mehr können. Mit der Kalender-API können Sie eine Vielzahl von Erfahrungen mit Kalenderdaten erstellen.

Verwalten von Ereignissen und Besprechungen

Der Ereignistyp stellt ein geplantes Vorkommen in einem Kalender dar, z. B. eine Besprechung, einen Feiertag oder einen Zeitblock. Besprechungen, z. B. Teambesprechungen oder Einzelbesprechungen, werden alle durch Ereignisressourcen dargestellt. Sie können den Ereignislebenszyklus direkt verwalten, indem Sie Ereignisse unter anderem direkt erstellen, abbrechen und löschen. Außerdem können Sie Ereignisentwürfe erstellen, senden, weiterleiten und Antworten erstellen und vieles mehr. Durch die Arbeit mit Ereignisnachrichten ermöglichen Sie es dem Benutzer, eine aktive Rolle beim Erstellen von Ereignissen und Besprechungen zu übernehmen. Sie ermöglichen es ihnen auch, mit Besprechungsursprungsgebern, anderen Empfängern und Teilnehmern zu kommunizieren.

Direktes Arbeiten mit Ereignissen

Die Microsoft Graph-API bietet Methoden für Vorgänge wie das Erstellen, Aktualisieren, Löschen und Abbrechen von Ereignissen. In der folgenden Tabelle sind einige allgemeine Anwendungsfälle für Lebenszyklusereignisse und die APIs aufgeführt, die Microsoft Graph für die Arbeit mit ihnen bereitstellt.

Anwendungsfall Verb Beispiel-URL
Erstellen Sie ein Ereignis. POST /users/{id | userPrincipalName}/events
Löschen eines Ereignisses aus einem Kalender. LÖSCHEN /users/{id | userPrincipalName}/events/{id}
Brechen Sie ein Ereignis ab, und senden Sie eine Abbruchnachricht.
Hinweis: Geben Sie die optionale Abbruchmeldung im Anforderungstext an.
POST /users/{id | userPrincipalName}/events/{id}/cancel
Aktualisieren eines Ereignisses.
Hinweis: Geben Sie die zu aktualisierenden Ereignisdetails im Anforderungstext an.
PATCH /users/{id | userPrincipalName}/events/{id}
Akzeptieren Sie ein Ereignis. POST /users/{id | userPrincipalName}/events/{id}/accept
Akzeptieren Sie mit Vorbehalt ein Ereignis. POST /users/{id | userPrincipalName}/events/{id}/tentativelyAccept
Lehnen Sie ein Ereignis ab. POST /users/{id | userPrincipalName}/events/{id}/decline
Schließen Sie eine Ereigniserinnerung. POST /users/{id | userPrincipalName}/events/{id}/dismissReminder
Erneutes Erinnern an ein Ereignis. POST /users/{id | userPrincipalName}/events/{id}/snoozeReminder

Arbeiten mit Ereignismeldungen

Die eventMessage-Ressource ist ein abstrakter Typ, der Besprechungsanfragen, Absagen und Antworten darstellt. Antworten werden generiert, wenn der Nachrichtenempfänger die Anforderung akzeptiert, mit Vorbehalt akzeptiert oder ablehnt. Die Behandlung von eventMessageRequest und eventMessageResponse verschiebt das Ereignis durch seinen Lebenszyklus. Die Messaging-APIs in der Kalender-API unterstützen sowohl MIME- als auch JSON-Inhalte.

In der folgenden Tabelle sind einige gängige Anwendungsfälle für Ereignismeldungen und die APIs für die Arbeit mit ihnen aufgeführt.

Anwendungsfall Verb Beispiel-URL
Senden eines vorhandenen Nachrichtenentwurfs. POST /users/{id | userPrincipalName}/messages/{id}/send
Erstellen Sie einen Antwortentwurf. POST /users/{id | userPrincipalName}/messages/{id}/createReply
Antworten auf eine Ereignisnachricht. POST /users/{id | userPrincipalName}/messages/{id}/reply
Erstellen Sie einen Entwurf einer Antwortnachricht für alle. POST /users/{id | userPrincipalName}/messages/{id}/createReplyAll
Antworten auf alle in einer Ereignisnachricht. POST /users/{id | userPrincipalName}/messages/{id}/replyAll
Erstellen Sie einen Entwurf für die Weiterleitung. POST /users/{id | userPrincipalName}/messages/{id}/createForward
Weiterleiten einer Ereignisnachricht. POST /users/{id | userPrincipalName}/messages/{id}/forward

Hinzufügen und Entfernen von Anlagen

Der abstrakte Anlagentyp dient als Basis für Dateien, Elemente und Verweise, die an Ereignisse, Nachrichten und Beiträge angefügt sind. Sie können die Anlagen für ein Ereignis anzeigen, z. B. mit der List attachments-Methode . Sie können eine Anlage mit der Delete attachment-Methode löschen. Ereignisse in Gruppenkalendern unterstützen keine Anlagen.

Anlagentypen

Die Typen fileAttachment, itemAttachment und referenceAttatchment stellen die drei Arten von Elementen dar, die an Kalenderelemente angefügt werden können. Ein itemAttachment-Objekt stellt einen Kontakt, ein Ereignis oder eine Nachricht dar, die direkt an ein Benutzerereignis, eine Nachricht oder einen Beitrag angefügt ist. Ein fileAttachment stellt eine Datei dar, die direkt angefügt ist. Ein referenceAttachment stellt ein Element dar, z. B. eine Word Dokument- oder Textdatei, das sich auf einem OneDrive für Geschäfts-, Schul- oder Uni-Cloudlaufwerk oder einem anderen unterstützten Speicherort befindet. Wenn Sie beispielsweise alle Anlagen für ein Ereignis anzeigen möchten, können Sie den Endpunkt GET /users/{id | userPrincipalName}/events/{id}/attachments verwenden.

Hochladen von Anlagen

Mit der Methode Anlage hinzufügen können Sie Anlagen mit einer Größe von weniger als 3 MB direkt in ein Ereignis für einen Benutzer hochladen. Für eine Anlage, die größer als 3 MB ist, müssen Sie jedoch die methode attachment: createUploadSession verwenden, um eine Upload-URL abzurufen, die Sie zum iterativen Hochladen der Anlage verwenden.

Arbeiten mit Kalendern, Kalendergruppen und Outlook-Kategorien

Mit der Kalender-API können Sie Kalender erstellen, lesen, aktualisieren und löschen, Kalenderereignisse erstellen und anzeigen, Frei/Gebucht-Informationen für Benutzer abrufen und vorgeschlagene Besprechungszeiten finden.

Die Kalender-API stellt Methoden zum Arbeiten mit Kalendern und Kalendergruppen bereit. In der folgenden Tabelle sind einige Anwendungsfälle mit ausgewählten URLs aufgeführt.

Hinweis: Viele der in der folgenden Tabelle gezeigten Methoden verfügen über andere URLs für verwandte Anwendungsfälle. Um beispielsweise den Kalender eines Benutzers in einer bestimmten Kalendergruppe zu aktualisieren, senden Sie einen PATCH-Vorgang mit der URL /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}.

Anwendungsfall Verb Beispiel-URL
Listen Sie Kalender für einen Benutzer auf. GET /users/{id | userPrincipalName}/calendars
Listen Sie die Kalender eines Benutzers in einer Gruppe auf. GET /users/{id | userPrincipalName}/calendarGroups/{calendarGroupId}/calendars
Erstellen Sie einen Kalender. POST /users/{id | userPrincipalName}/calendars
Abrufen eines Kalenders. GET /users/{id | userPrincipalName}/calendars/{id}
Aktualisieren eines Kalenders. PATCH /users/{id | userPrincipalName}/calendars/{id}
Löschen eines Kalenders. LÖSCHEN /users/{id | userPrincipalName}/calendars/{id}
Erstellen Sie eine Kalendergruppe. POST /users/{id | userPrincipalName}/calendarGroups
Abrufen einer Kalendergruppe. GET /users/{id | userPrincipalName}/calendarGroups/{id}
Aktualisieren einer Kalendergruppe. PATCH /users/{id | userPrincipalName}/calendarGroups/{id}
Löschen einer Kalendergruppe. LÖSCHEN /users/{id | userPrincipalName}/calendarGroups/{id}

Frei/Gebucht-Daten und Besprechungszeiten

Zwei der Kernfunktionen der Kalendererstellung sind das Suchen von Frei/Gebucht-Informationen und die Suche nach Besprechungszeiten, um Besprechungen zu planen. Die Kalender-API stellt die Get-Frei/Gebucht-Zeitplanmethode bereit, die eine Auflistung von scheduleInformation-Objekten für einen bestimmten Zeitraum sowie eine Sammlung von Benutzern, Ressourcen oder Verteilerlisten zurückgibt. Sie können diese Informationen dem Benutzer anzeigen, damit er manuell einen geeigneten Zeitpunkt für die Planung einer Besprechung auswählen kann. Verwenden Sie die methode user: findMeetingTimes , um ein meetingTimeSuggestionResult abzurufen, das eine Sammlung von meetingTimeSuggestion-Objekten enthält, die detaillierte Informationen zu vorgeschlagenen Besprechungszeiten für die Teilnehmer und einschränkungen darstellen, die Sie gesendet haben.

Outlook-Kategorien

Eine Kalenderkategorie ist eine Kombination aus einer Beschreibung und einer categoryColor , die zusammen eine Kategorie für ein Outlook-Element definieren und steuern, wie das Element in Outlook angezeigt wird. Outlook-Benutzer können Nachrichten und Ereignisse z. B. nach Kategorie gruppieren. Weitere Informationen finden Sie unter outlookCategory.

Kalenderberechtigungen

Wenn Benutzer Kalender für andere Benutzer innerhalb von Outlook-Clients freigeben, können sie die Kalenderelemente steuern, die die Empfänger anzeigen oder bearbeiten können. Die calendarPermissions-Beziehung enthält Berechtigungen für jeden Benutzer, für den ein Benutzer seinen Kalender freigegeben hat. Mit dieser Beziehung können Sie beispielsweise sehen, welche Benutzer Frei/Gebucht-Informationen für den Besitzer anzeigen, alle Kalenderinformationen anzeigen oder Ereignisse im Kalender bearbeiten können.

Arbeiten mit offenen Erweiterungen und erweiterten Eigenschaften

Offene Erweiterungen, früher als Office 365-Datenerweiterungen bezeichnet, stellen die bevorzugte Methode zum Speichern und Zugreifen auf benutzerdefinierte Daten für Ressourcen im Postfach eines Benutzers dar. Wenn eine Outlook MAPI-Eigenschaft in den Microsoft Graph-API-Metadaten nicht verfügbar ist, können Sie auf erweiterte Outlook-Eigenschaften zurückgreifen. Weitere Informationen finden Sie unter Übersicht über erweiterte Outlook-Eigenschaften.

Nächste Schritte

Mit der Kalender-API in Microsoft Graph können Sie eine Reihe von Erfahrungen mit Kalenderdaten erstellen. So erhalten Sie weitere Informationen:

  • Informieren Sie sich ausführlicher über die Methoden und Eigenschaften der Ressourcen, die für Ihr Szenario am hilfreichsten sind.
  • Probieren Sie die API im Graph-Tester aus.