Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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. Stellvertretungen sind Freigabeempfänger, die alle Informationen in nicht privaten Ereignissen anzeigen können und Schreibzugriff auf diese 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 eine Einladung an einen Freigabeempfänger oder delegiert diese, und der Freigabeempfänger oder Stellvertretung akzeptiert die Einladung oder fügt den freigegebenen oder delegierten Kalender explizit 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:
- Alex Wilber hat Megan Bowen zur Stellvertreterin für seinen primären Kalender gemacht und Megan auch erlaubt, private Ereignisse in diesem Kalender einzusehen.
- Alex hat einen "Kinderpartys"-Kalender mit Adele Vance und Megan Bowen geteilt und sowohl Adele als auch Megan
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:
- Abrufen von Kalenderinformationen zu Freigabeempfängern, Stellvertretungen und zulässigen Berechtigungen sowie Aktualisieren einzelner Berechtigungen
- Abrufen der Eigenschaften, die die Freigabe oder Delegierung des Kalenders beschreiben.
- Abrufen oder Festlegen von Postfacheinstellungen für den Empfang von Besprechungsanfragen und Antworten für einen delegierten Kalender.
- Löschen eines Freigabeempfängers oder einer Stellvertretung eines Kalenders.
Apps können über die allgemein verfügbare API auch Folgendes tun:
- Abrufen von freigegebenen oder delegierten Outlook-Kalendern oder darin enthaltenen Ereignissen
- Erstellen von Outlook-Ereignissen in einem freigegebenen oder delegierten Kalender
Hinweis
Die Eigenschaften und die API für das Teilen und Delegieren von Kalendern, die in diesem Thema beschrieben werden, sind derzeit im v1.0-Endpunkt verfügbar, mit Ausnahme der Kalendereigenschaft isShared, die nur im Beta-Endpunkt verfügbar gemacht wird.
Abrufen von Kalenderinformationen zu Freigabeempfängern und -stellvertretungen und Aktualisieren einzelner Berechtigungen
In diesem Abschnitt:
- Kalenderbesitzer: Abrufen von Informationen und Berechtigungen zu Freigaben oder Stellvertretungen
- Calendar Owner: Aktualisieren von Berechtigungen für einen vorhandenen Freigabeempfänger oder eine Stellvertretung in einem Kalender
Jeder Kalender ist einer Auflistung von calendarPermission-Objekten zugeordnet, von denen jedes einen Freigabeempfänger oder -stellvertreter und die zugehörige Berechtigung beschreibt, die der Kalenderbesitzer eingerichtet hat. Die calendarRoleType-Enumeration definiert den Bereich der Berechtigungen, die Microsoft Graph unterstützt:
-
noneDieser Wert gilt nurMy Organizationfür Personen, die keine Berechtigungen für den Kalender haben. Er gilt nicht für einzelne Benutzer, da nur Benutzer mit Berechtigungen mit einem calendarPermission-Objekt für den Kalender verknüpft sind. -
freeBusyReadDer Freigabeempfänger kann den Frei/Gebucht-Status des Besitzers anzeigen, jedoch keine anderen Details im Kalender. -
limitedReadDer Freigabeempfänger kann den Frei/Gebucht-Status des Besitzers sowie die Titel und Speicherorte von nicht privaten Ereignissen im Kalender anzeigen. -
readDer Freigabeempfänger kann den Frei/Gebucht-Status des Besitzers bei privaten Ereignissen sowie alle Details von nicht privaten Ereignissen im Kalender anzeigen. -
writeDer Freigabeempfänger kann den 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). -
delegateWithoutPrivateEventAccessDer Stellvertreter kann den Frei/Gebucht-Status des Besitzers für private Ereignisse anzeigen und hatwrite-Zugriff auf nicht private Ereignisse im Kalender. -
delegateWithPrivateEventAccessDer Stellvertreter kann die Details der privaten und nicht privaten Ereignisse anzeigen und hatwrite-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.
Kalenderbesitzer: Abrufen von Informationen und Berechtigungen zu Freigaben oder Stellvertretungen
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:
- isRemovable ist auf "true" gesetzt, wodurch Alex die Möglichkeit hat, die Delegierung abzubrechen.
- isInsideOrganization ist auf "true" gesetzt, da nur Benutzer in der gleichen Organisation Stellvertreter sein können.
-
role für Megan ist
delegateWithPrivateEventAccess, wie von Alex eingerichtet. -
allowedRoles enthält die Rollentypen
delegateWithoutPrivateEventAccessunddelegateWithPrivateEventAccess, die Stellvertretungen unterstützen. - emailAddress gibt " Megan" an.
Das zweite calendarPermission-Objekt ist ein Standardobjekt, das "Meine Organisation" zugewiesen ist und die folgenden Eigenschaftenwerte aufweist:
- isRemovable ist auf "false" festgelegt, da der primäre Kalender immer für die Organisation des Besitzers freigegeben ist.
- isInsideOrganization ist auf "true" gesetzt.
-
role ist auf
freeBusyReadfestgelegt, die Standardeinstellung für "Meine Organisation". - emailAddress gibt die name-Untereigenschaft als "Meine Organisation" an; address für "Meine Organisation" ist standardmäßig "Null".
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"
}
}
]
}
Calendar Owner: Aktualisieren von Berechtigungen für einen vorhandenen Freigabeempfänger oder eine Stellvertretung in einem Kalender
Mit Zustimmung von Alex oder dem Administrator können Sie die Berechtigungen aktualisieren, die einem vorhandenen Freigabeempfänger oder -stellvertreter (durch die Rolleneigenschaft angegeben) zugewiesen sind, sofern die neuen Berechtigungen von den allowedRoles unterstützt werden, die ursprünglich für den Freigabeempfänger oder Freigabestellvertreter für diesen Kalender eingerichtet wurden.
Abgesehen von der Rolleneigenschaft können Sie keine anderen Eigenschaften eines vorhandenen Freigabeempfängers oder Stellvertreters aktualisieren. Zum Ändern des Eigenschaftswerts emailAddress müssen der Freigabeempfänger oder -stellvertreter gelöscht und eine neue instance von calendarPermission erneut eingerichtet werden.
Im Beispiel in diesem Abschnitt wird die Rolleneigenschaft aktualisiert, indem die Berechtigung einer vorhandenen Freigabeempfängerin, Adele, für read den benutzerdefinierten Kalender "Kinderpartys" von "nach" write geändert wird.
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"
}
}
Abrufen von Eigenschaften eines freigegebenen oder delegierten Kalenders
In diesem Abschnitt:
- Kalenderbesitzer: Abrufen von Eigenschaften eines freigegebenen oder delegierten Kalenders
- Empfänger oder Stellvertretung freigeben: Abrufen der Eigenschaften des freigegebenen oder delegierten Kalenders
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.
Kalenderbesitzer: Abrufen von Eigenschaften eines freigegebenen oder delegierten Kalenders
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:
- canShare ist auf "true" gesetzt, da Alex der Besitzer ist.
- canViewPrivateItems ist auf "true" gesetzt, da Alex der Besitzer ist.
- isShared ist auf "true" gesetzt, da Alex einen Stellvertreter für diesen Kalender festgelegt hat.
- isSharedWithMe ist für den Kalenderbesitzer auf "false" gesetzt.
- owner zeigt Alex als Besitzer an.
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"
}
}
Empfänger oder Stellvertretung freigeben: Abrufen der Eigenschaften des freigegebenen oder delegierten Kalenders
In dem Beispiel in diesem Abschnitt wird die Eigenschaften desselben Kalenders aus der Perspektive der Stellvertreterin Megan abgerufen.
Beachten Sie die folgenden Eigenschaften:
- name des Kalenders ist standardmäßig der Anzeigename des Besitzers. In diesem Fall ist es "Alex Wilber", da dies der Kalender von Alex ist, der an Megan delegiert wurde.
- canShare ist false, da Megan nicht die Besitzerin dieses Kalenders ist.
- canViewPrivateItems ist für die Stellvertreterin Megan auf "true" gesetzt, wie von Alex konfiguriert. Für eine Freigabe, die keine Stellvertretung ist, ist diese Eigenschaft immer falsch.
- isShared ist auf "false" festgelegt. Diese Eigenschaft zeigt einem Kalenderbesitzer an, ob der Kalender freigegeben oder delegiert wurde.
- Die Eigenschaft isSharedWithMe ist auf "true" gesetzt, da Megan eine Stellvertreterin ist.
- canEdit ist auf "true" gesetzt, da Stellvertreter, wie Megan, Schreibzugriff haben.
- owner ist auf "Alex" gesetzt.
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"
}
}
Abrufen oder Festlegen von Postfacheinstellungen für den Empfang von Besprechungsanfragen und Antworten
In diesem Abschnitt:
- Abrufen der Zustellungseinstellung für Delegierungen für das Postfach eines Benutzers
- Festlegen der Zustellungseinstellung für Delegierungen für das Postfach eines Benutzers
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:
sendToDelegateOnlyOutlook 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.
sendToDelegateAndInformationToPrincipalOutlook 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.
sendToDelegateAndPrincipalOutlook 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.
Abrufen der Zustellungseinstellung für Delegierungen für das Postfach eines Benutzers
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"
}
}
}
Festlegen der Zustellungseinstellung für Delegierungen für das Postfach eines Benutzers
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"
}
Löschen eines Freigabeempfängers oder Stellvertreters eines Kalenders
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
Verwandte Inhalte
- Freigeben eines Outlook-Kalenders für andere Personen
- Zulassen, dass eine andere Person Ihre E-Mails und Ihren Kalender als Stellvertreter verwaltet
- Freigeben Ihres Kalenders in Outlook im Web
- Kalenderdelegation in Outlook im Web
- Abrufen von Outlook-Ereignissen in einem freigegebenen oder delegierten Kalender
- Erstellen von Outlook-Ereignissen in einem freigegebenen oder delegierten Kalender