更新 calendarPermission
本文内容
命名空间:microsoft.graph
通过日历的相应 calendarPermission 对象更新分配给现有共享者或代理人的权限。
权限
根据事件所处日历类型和所请求的权限类型(委派型或应用程序),需要下列某一权限来调用此 API。 要了解详细信息(包括如何选择权限),请参阅权限 。
日历
委派(工作或学校帐户)
委派(个人 Microsoft 帐户)
应用程序
用户日历
Calendars.ReadWrite
Calendars.ReadWrite
Calendars.ReadWrite
组日历
Group.ReadWrite.All
不支持。
不支持。
HTTP 请求
更新用户日历的指定权限:
PATCH /users/{id}/calendar/calendarPermissions/{id}
更新组日历的指定权限:
PATCH /groups/{id}/calendar/calendarPermissions/{id}
更新包含已标识事件的用户日历的指定权限:
PATCH /users/{id}/events/{id}/calendar/calendarPermissions/{id}
名称
说明
Authorization
Bearer {token}。必需。
Content-Type
application/json. Required.
请求正文
在请求正文中,提供应更新的相关字段的值。 请求正文中不包括的现有属性将保留其以前的值,或根据对其他属性值的更改重新计算。 为了获得最佳性能,请勿加入尚未更改的现有值。
响应
如果成功,此方法在响应 200 OK 正文中返回 响应代码和更新的 calendarPermission 对象。
示例
请求
以下示例将共享者 Adele 的权限级别更改为 write 。
PATCH https://graph.microsoft.com/v1.0/users/{id}/calendar/calendarPermissions/RGVmYXVsdA==
Content-type: application/json
{
"role": "write"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var calendarPermission = new CalendarPermission
{
Role = CalendarRoleType.Write
};
await graphClient.Users["{user-id}"].Calendar.CalendarPermissions["{calendarPermission-id}"]
.Request()
.UpdateAsync(calendarPermission);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
const options = {
authProvider,
};
const client = Client.init(options);
const calendarPermission = {
role: 'write'
};
await client.api('/users/{id}/calendar/calendarPermissions/RGVmYXVsdA==')
.update(calendarPermission);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/users/{id}/calendar/calendarPermissions/RGVmYXVsdA=="]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphCalendarPermission *calendarPermission = [[MSGraphCalendarPermission alloc] init];
[calendarPermission setRole: [MSGraphCalendarRoleType write]];
NSError *error;
NSData *calendarPermissionData = [calendarPermission getSerializedDataWithError:&error];
[urlRequest setHTTPBody:calendarPermissionData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
CalendarPermission calendarPermission = new CalendarPermission();
calendarPermission.role = CalendarRoleType.WRITE;
graphClient.users("{id}").calendar().calendarPermissions("RGVmYXVsdA==")
.buildRequest()
.patch(calendarPermission);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewCalendarPermission()
role := "write"
requestBody.SetRole(&role)
userId := "user-id"
calendarPermissionId := "calendarPermission-id"
graphClient.UsersById(&userId).Calendar().CalendarPermissionsById(&calendarPermissionId).Patch(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
Import-Module Microsoft.Graph.Calendar
$params = @{
Role = "write"
}
Update-MgUserCalendarPermission -UserId $userId -CalendarPermissionId $calendarPermissionId -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "RGVmYXVsdA==",
"isRemovable": true,
"isInsideOrganization": true,
"role": "write",
"allowedRoles": [
"freeBusyRead",
"limitedRead",
"read",
"write"
],
"emailAddress": {
"name": "Adele Vance",
"address": "AdeleV@contoso.OnMicrosoft.com"
}
}