Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
In Outlook kann ein Kalenderbesitzer den Kalender für einen anderen Benutzer freigeben. Der Besitzer kann festlegen, welche Informationen bei nicht privaten Ereignissen angezeigt werden, und er kann Benutzern in derselben Organisation Schreibzugriff auf den Kalender gewähren.
Der Besitzer kann auch einen anderen Benutzer mit der Verwaltung von Besprechungen im primären Kalender des Besitzers beauftragen. Delegaten sind Freigabeempfänger, die alle Informationen in anzeigen können und Schreibzugriff auf nicht private Ereignisse haben. Sie erhalten auch Besprechungsanfragen und -antworten und können Besprechungsanfragen im Namen des Besitzers beantworten. Außerdem kann der Besitzer den Stellvertreter die ausdrückliche Erlaubnis erteilen, die privaten Ereignisse des Besitzers im Kalender einzusehen.
Bevor die Kalenderfreigabe oder -delegierung wirksam werden kann, sendet der Besitzer einen Freigabeempfänger oder delegiert eine Einladung, und der Freigabeempfänger oder -delegat nimmt die Einladung an oder fügt explizit den freigegebenen oder delegierten Kalender für den Zugriff hinzu. Die Einladung und das Hinzufügen eines freigegebenen oder delegierten Kalenders erfolgen in einem Outlook-Client.
Nachdem die Freigabe oder Delegierung in Outlook eingerichtet wurde, können die Apps die Freigabe und Delegierung mit der Microsoft Graph-API verwalten.
Der Rest dieses Artikels basiert auf dem folgenden Beispielszenario:
read
-Berechtigungen für alle Einzelheiten der nicht privaten Ereignisse im Kalender "Kinderpartys" sowie für den Frei/Gebucht-Status für private Ereignisse erteilt.Dieser Artikel beschreibt die programmatische Ausführung der folgenden Aufgaben mit einem freigegebenen oder delegierten Kalender:
Apps können über die allgemein verfügbare API auch Folgendes tun:
Hinweis
Die Eigenschaften und die API für die Freigabe und Delegierung von Kalendern, wie in diesem Thema beschrieben, sind derzeit im v1.0-Endpunkt verfügbar, mit Ausnahme der Kalendereigenschaften isShared and isSharedWithMe. Diese beiden Eigenschaften werden nur im Beta-Endpunkt verfügbar gemacht.
In diesem Abschnitt:
Jeder Kalender ist einer Sammlung von calendarPermission-Objekten zugeordnet, von denen jedes einen Freigabeempfänger oder -delegaten und die zugehörige Berechtigung beschreibt, die der Kalenderbesitzer eingerichtet hat. Die calendarRoleType-Enumeration definiert den Bereich der Berechtigungen, die Microsoft Graph unterstützt:
none
Dieser Wert gilt nur My Organization
für , die über keine Berechtigungen für den Kalender verfügt. Er gilt nicht für einzelne Benutzer, da nur Benutzer mit Berechtigungen mit einem calendarPermission-Objekt für den Kalender verknüpft sind.freeBusyRead
Der Freigabeempfänger kann die Frei/Gebucht-status des Besitzers anzeigen, aber keine anderen Details im Kalender.limitedRead
Der Freigabeempfänger kann die Frei/Gebucht-status des Besitzers sowie die Titel und Speicherorte nicht privater Ereignisse im Kalender anzeigen.read
Der Freigabeempfänger kann die Frei/Gebucht-status des Besitzers in privaten Ereignissen sowie alle Details zu nicht privaten Ereignissen im Kalender anzeigen.write
Der Freigabeempfänger kann die Frei/Gebucht-status des Besitzers in privaten Ereignissen anzeigen und alle Details anzeigen und nicht private Ereignisse im Kalender bearbeiten (erstellen, aktualisieren oder löschen).delegateWithoutPrivateEventAccess
Der Stellvertreter kann den Frei/Gebucht-Status des Besitzers für private Ereignisse anzeigen und hat write
-Zugriff auf nicht private Ereignisse im Kalender.delegateWithPrivateEventAccess
Der Stellvertreter kann die Details der privaten und nicht privaten Ereignisse anzeigen und hat write
-Zugriff auf alle Ereignisse im Kalender.Der primäre Kalender eines Benutzers ist immer für "Meine Organisation" freigegeben, d. h. die Benutzer in der gleichen Organisation wie der Besitzer. Standardmäßig können diese Benutzer den Frei/Gebucht-Status des Besitzers in diesem Kalender lesen und verfügen über die freeBusyRead
-Berechtigung.
In diesem Beispiel wird mit der Zustimmung von Alex oder des Administrators gezeigt, wie calendarPermission-Objekte abgerufen werden, die mit dem primären Kalender von Alex verknüpft sind. Die Anforderung gibt zwei solche Berechtigungsobjekte zurück:
Das erste calendarPermission-Objekt wird der Stellvertreterin Megan zugewiesen und weist die folgenden Eigenschaftenwerte auf:
delegateWithPrivateEventAccess
, wie von Alex eingerichtet.delegateWithoutPrivateEventAccess
und delegateWithPrivateEventAccess
, die Stellvertretungen unterstützen.Das zweite calendarPermission-Objekt ist ein Standardobjekt, das "Meine Organisation" zugewiesen ist und die folgenden Eigenschaftenwerte aufweist:
freeBusyRead
festgelegt, die Standardeinstellung für "Meine Organisation".Microsoft Graph-Berechtigungen
Verwenden Sie für diesen Vorgang die am wenigsten privilegierte delegierte Berechtigung oder die Anwendungsberechtigung (Calendars.Read
) je nach Bedarf. Weitere Informationen finden Sie unter Kalenderberechtigungen.
GET https://graph.microsoft.com/beta/users/AlexW@contoso.com/calendar/calendarPermissions
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/calendar/calendarPermissions",
"value": [
{
"id": "L289RXhjaGFuZ2VMYWJTWVnYW5C",
"isRemovable": true,
"isInsideOrganization": true,
"role": "delegateWithPrivateEventAccess",
"allowedRoles": [
"freeBusyRead",
"limitedRead",
"read",
"write",
"delegateWithoutPrivateEventAccess",
"delegateWithPrivateEventAccess"
],
"emailAddress": {
"name": "Megan Bowen",
"address": "MeganB@contoso.com"
}
},
{
"id": "RGVmYXVsdA==",
"isRemovable": false,
"isInsideOrganization": true,
"role": "freeBusyRead",
"allowedRoles": [
"none",
"freeBusyRead",
"limitedRead",
"read",
"write"
],
"emailAddress": {
"name": "My Organization"
}
}
]
}
Mit Der Zustimmung von Alex oder administrator können Sie die Berechtigungen aktualisieren, die einem vorhandenen Freigabeempfänger oder -delegaten zugewiesen sind (angegeben durch die Rolleneigenschaft ), solange die neuen Berechtigungen von den allowedRoles unterstützt werden, die ursprünglich für den Freigabeempfänger oder Stellvertretung für diesen Kalender eingerichtet wurden.
Abgesehen von der Rolleneigenschaft können Sie keine anderen Eigenschaften eines vorhandenen Freigabeempfängers oder -delegaten aktualisieren. Wenn Sie den Wert der emailAddress-Eigenschaft ändern, müssen Sie den Freigabeempfänger oder -delegaten löschen und erneut eine neue instance von calendarPermission einrichten.
Das Beispiel in diesem Abschnitt aktualisiert die Rolleneigenschaft und ändert die Berechtigung des vorhandenen Freigabeempfängers Adele von read
write
in für den benutzerdefinierten Kalender "Kinderpartys".
Microsoft Graph-Berechtigungen
Verwenden Sie für diesen Vorgang die am wenigsten privilegierte delegierte Berechtigung oder die Anwendungsberechtigung (Calendars.ReadWrite
) je nach Bedarf. Weitere Informationen finden Sie unter Kalenderberechtigungen.
PATCH https://graph.microsoft.com/beta/users/AlexW@contoso.com/calendars/AAMkADAwAABf02bAAAA=/calendarPermissions/L289RXhjaGFuZ2VMYWJQWRlbGVW
Content-type: application/json
{
"role": "write"
}
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/calendars('AAMkADAwAABf02bAAAA%3D')/calendarPermissions/$entity",
"id": "L289RXhjaGFuZ2VMYWJQWRlbGVW",
"isRemovable": true,
"isInsideOrganization": true,
"role": "write",
"allowedRoles": [
"freeBusyRead",
"limitedRead",
"read",
"write"
],
"emailAddress": {
"name": "Adele Vance",
"address": "AdeleV@contoso.com"
}
}
In diesem Abschnitt:
In diesem Beispiel hat Alex seinen primären Kalender delegiert und der Stellvertreterin, Megan Bowen, die Berechtigung erteilt, die als privat gekennzeichneten Kalendereinträge anzuzeigen. Dieser Abschnitt zeigt die Eigenschaften des delegierten Kalenders, zunächst aus der Perspektive und mit der Zustimmung des Besitzers, Alex, und dann aus der Perspektive und mit der Zustimmung der Stellvertreterin, Megan. Die Zustimmung des Administrators funktioniert für jeden Fall.
In dem Beispiel in diesem Abschnitt wird die Eigenschaften des primären Kalenders aus der Perspektive des Besitzers Alex abgerufen.
Beachten Sie die folgenden Eigenschaften im Namen von Alex:
Microsoft Graph-Berechtigungen
Verwenden Sie für diesen Vorgang die am wenigsten privilegierte delegierte Berechtigung oder die Anwendungsberechtigung (Calendars.Read
) je nach Bedarf. Weitere Informationen finden Sie unter Kalenderberechtigungen.
GET https://graph.microsoft.com/beta/users/AlexW@contoso.com/calendar
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/calendar/$entity",
"id": "AQMkADAw7QAAAJfygAAAA==",
"name": "Calendar",
"color": "auto",
"hexColor": "",
"changeKey": "NEXywgsVrkeNsFsyVyRrtAAAAAACOg==",
"canShare": true,
"canViewPrivateItems": true,
"isShared": true,
"isSharedWithMe": false,
"canEdit": true,
"allowedOnlineMeetingProviders": [
"teamsForBusiness"
],
"defaultOnlineMeetingProvider": "teamsForBusiness",
"isTallyingResponses": true,
"isRemovable": false,
"owner": {
"name": "Alex Wilber",
"address": "AlexW@contoso.com"
}
}
In dem Beispiel in diesem Abschnitt wird die Eigenschaften desselben Kalenders aus der Perspektive der Stellvertreterin Megan abgerufen.
Beachten Sie die folgenden Eigenschaften:
Hinweis
Ein Freigabeempfänger oder Stellvertreter kann nur die Eigenschaft name eines freigegebenen/delegierten Kalenders anpassen. Die Aktualisierung ist nur für den jeweiligen Freigabeempfänger oder Stellvertreter selbst sichtbar; der Kalenderbesitzer sieht solche Kalendernamensänderungen nicht.
Microsoft Graph-Berechtigungen
Verwenden Sie für diesen Vorgang die am wenigsten privilegierte delegierte Berechtigung (Calendars.Read.Shared
) oder die Anwendungsberechtigung (Calendars.Read
) je nach Bedarf. Weitere Informationen finden Sie unter Kalenderberechtigungen.
GET https://graph.microsoft.com/beta/users/meganb@contoso.com/calendars/AAMkADlAABhbftjAAA=
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('meganb%40contoso.com')/calendars/$entity",
"id": "AAMkADlAABhbftjAAA=",
"name": "Alex Wilber",
"color": "auto",
"hexColor": "",
"changeKey": "E6LznKWmX0KTsAD9qRJjeAAAYWo3EQ==",
"canShare": false,
"canViewPrivateItems": true,
"isShared": false,
"isSharedWithMe": true,
"canEdit": true,
"allowedOnlineMeetingProviders": [
"teamsForBusiness"
],
"defaultOnlineMeetingProvider": "teamsForBusiness",
"isTallyingResponses": true,
"isRemovable": true,
"owner": {
"name": "Alex Wilber",
"address": "AlexW@contoso.com"
}
}
In diesem Abschnitt:
Je nach dem Grad der Delegierung, den ein Kalenderbesitzer bevorzugt, kann er festlegen, wer Besprechungsanfragen und Antworten erhalten soll, um Besprechungen im Kalender zu verwalten.
Programmatisch können Sie die delegateMeetingMessageDeliveryOptions-Eigenschaft der MailboxSettings des Kalenderbesitzers abrufen oder festlegen, um anzugeben, an wen Outlook eventMessageRequest- und eventMessageResponse-Instanzen weiterleiten soll:
sendToDelegateOnly
Outlook leitet eventMessageRequest- und eventMessageResponse-Instanzen nur an Stellvertreter weiter. Dies ist die Standardeinstellung. Der Besitzer kann Antworten auf eine Besprechung sehen oder auf eine Einladung über das entsprechende Ereignis im delegierten Kalender antworten.
sendToDelegateAndInformationToPrincipal
Outlook leitet eventMessageRequest- und eventMessageResponse-Instanzen an Stellvertreter und den Kalenderbesitzer weiter. Die Option zum Annehmen oder Ablehnen einer Besprechungsanfrage wird nur den Stellvertretern angezeigt, und die den Besitzer gesendete Benachrichtigung wird wie eine normale E-Mail-Nachricht angezeigt. Der Besitzer kann dennoch auf die Besprechungsanfrage antworten, indem er das Ereignis im delegierten Kalender öffnet und darauf antwortet.
sendToDelegateAndPrincipal
Outlook leitet eventMessageRequest- und eventMessageResponse-Instanzen an Stellvertreter und den Kalenderbesitzer weiter, von denen einer auf die Besprechungsanfrage antworten kann.
Dies ist eine postfachweite Einstellung, daher gilt die gleiche Einstellung für alle Stellvertreter des Postfachbesitzer.
In dem Beispiel in diesem Abschnitt wird die mailboxSettings eines Kalenderbesitzers abgerufen, der Besprechungsanfragen und Antworten von Outlook nur an Kalenderstellvertreter weiterleiten lässt; d. h. delegateMeetingMessageDeliveryOptions ist auf sendToDelegateOnly
festgelegt.
Microsoft Graph-Berechtigungen
Verwenden Sie für diesen Vorgang die am wenigsten privilegierte delegierte Berechtigung oder die Anwendungsberechtigung (MailboxSettings.Read
) je nach Bedarf. Weitere Informationen zu Postfachberechtigungen finden Sie unter E-Mail-Berechtigungen.
GET https://graph.microsoft.com/beta/users/AlexW@contoso.com/mailboxsettings
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/mailboxSettings",
"archiveFolder": "AQMkADAwAGVQAAAKfowAAAA==",
"timeZone": "Pacific Standard Time",
"delegateMeetingMessageDeliveryOptions": "sendToDelegateOnly",
"dateFormat": "M/d/yyyy",
"timeFormat": "h:mm tt",
"automaticRepliesSetting": {
"status": "disabled",
"externalAudience": "all",
"internalReplyMessage": "",
"externalReplyMessage": "",
"scheduledStartDateTime": {
"dateTime": "2019-12-24T05:00:00.0000000",
"timeZone": "UTC"
},
"scheduledEndDateTime": {
"dateTime": "2019-12-25T05:00:00.0000000",
"timeZone": "UTC"
}
},
"language": {
"locale": "en-US",
"displayName": "English (United States)"
},
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"name": "Pacific Standard Time"
}
}
}
In dem Beispiel in diesem Abschnitt wird die Eigenschaft delegateMeetingMessageDeliveryOptions auf sendToDelegateAndPrincipal
aktualisiert, damit Outlook Besprechungsanfragen und Antworten des delegierten Kalenders an alle Stellvertreter und den Besitzer weiterleiten kann.
Microsoft Graph-Berechtigungen
Verwenden Sie für diesen Vorgang die am wenigsten privilegierte delegierte Berechtigung oder die Anwendungsberechtigung (MailboxSettings.ReadWrite
) je nach Bedarf. Weitere Informationen zu Postfachberechtigungen finden Sie unter E-Mail-Berechtigungen.
PATCH https://graph.microsoft.com/beta/users/AlexW@contoso.com/mailboxsettings
Content-type: application/json
{
"delegateMeetingMessageDeliveryOptions": "sendToDelegateAndPrincipal"
}
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('64339082-ed84-4b0b-b4ab-004ae54f3747')/mailboxSettings",
"delegateMeetingMessageDeliveryOptions": "sendToDelegateAndPrincipal"
}
Im Beispiel unten löscht Alex Megan als Freigabeempfängerin des Kalenders "Kinderpartys".
Microsoft Graph-Berechtigungen
Verwenden Sie für diesen Vorgang die am wenigsten privilegierte delegierte Berechtigung oder die Anwendungsberechtigung (Calendars.ReadWrite
) je nach Bedarf. Weitere Informationen finden Sie unter Kalenderberechtigungen.
DELETE https://graph.microsoft.com/beta/users/AlexW@contoso.com/calendars/AAMkADAwAABf02bAAAA=/calendarPermissions/L289RXhjaGFuZ2VMYWJTWVnYW5C
HTTP/1.1 204 No Content
Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Microsoft Graph ermöglicht den Zugriff auf Daten, die in Microsoft 365-Diensten gespeichert sind. In diesem Modul erfahren Sie, wie Sie auf Microsoft 365-Daten zugreifen, um den Standardkalender eines Benutzers mithilfe von Microsoft Graph-APIs und SDKs in einer JavaScript-Anwendung anzuzeigen. Um sicherzustellen, dass die Web-App nur das anzeigt, was für den Benutzer unmittelbar relevant ist, werden Sie auf Vorkommnisse und Instanzen von Ereignissen für einen bestimmten Zeitraum zugreifen und diese anzeige