Update the permissions assigned to an existing sharee or delegate, through the corresponding calendarPermission object for a calendar.
Permissions
Depending on the type of calendar that the event is in and the permission type (delegated or application) requested, one of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.
Calendar
Delegated (work or school account)
Delegated (personal Microsoft account)
Application
user calendar
Calendars.ReadWrite
Calendars.ReadWrite
Calendars.ReadWrite
group calendar
Group.ReadWrite.All
Not supported.
Not supported.
HTTP request
Update the specified permissions of a user's calendar:
In the request body, supply the values for relevant fields that should be updated. Existing properties that are not included in the request body will maintain their previous values or be recalculated based on changes to other property values. For best performance, don't include existing values that haven't changed.
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var requestBody = new CalendarPermission
{
Role = CalendarRoleType.Write,
};
var result = await graphClient.Users["{user-id}"].Calendar.CalendarPermissions["{calendarPermission-id}"].PatchAsync(requestBody);
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc users calendar calendar-permissions patch --user-id {user-id} --calendar-permission-id {calendarPermission-id} --body '{\
"role": "write"\
}\
'
<?php
// THIS SNIPPET IS A PREVIEW VERSION OF THE SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CalendarPermission();
$requestBody->setRole(new CalendarRoleType('write'));
$result = $graphServiceClient->users()->byUserId('user-id')->calendar()->calendarPermissions()->byCalendarPermissionId('calendarPermission-id')->patch($requestBody)->wait();
# THE PYTHON SDK IS IN PREVIEW. FOR NON-PRODUCTION USE ONLY
graph_client = GraphServiceClient(request_adapter)
request_body = CalendarPermission(
role = CalendarRoleType.Write,
)
result = await graph_client.users.by_user_id('user-id').calendar.calendar_permissions.by_calendar_permission_id('calendarPermission-id').patch(body = request_body)