在 Microsoft graph API 中创建日历权限最终用户无法删除
Create calendar Permissions in Microsoft graph API not removable by end users
我们想在组织中的所有用户日历上创建日历权限,允许服务(用户邮箱)在用户日历上 read/write。
使用 Microsoft Graph 终结点执行此操作没有问题:Create calendarPermission
但我们希望最终用户无法删除此权限。这就是我们尝试将 isRemovable 属性 设置为 true 的原因。例如:
POST https://graph.microsoft.com/v1.0/users/UPN_OF_USER/calendar/calendarPermissions
Request Body
{
"emailAddress": {
"name": "VALID_USER_NAME",
"address": "VALID_USER_EMAIL_IN_TENANT@TENANT_DOMAIN"
},
"isInsideOrganization": true,
"isRemovable": false,
"role": "read"
}
但是每次我们添加这个权限时,isRemovable 属性 都会被设置为 true。
似乎 isRemovable 属性 在 documentation
中是只读的
我在我的环境中测试了 API,结果相同。我测试了几个场景,发现 isInsideOrganization
由 My Organization user
决定,并且 isRemovable
对于所有用户默认设置为 true
因为他们可以 removed/deleted 来自除了 My Organization User
之外的 Sharee 和 Delegate 列表作为将哪些权限分配给哪些用户的决定权。
日历权限资源类型中也提到了Microsoft Documentation如下图:
场景:
通过提供两个参数和不提供参数为用户 inside the Organization
创建权限:
带参数:
无参数:
通过提供两个参数而不提供参数作为 outside the Organization
为存在的用户创建权限
嗯:
带参数:
无参数:
注意: IsRemovable
仅针对 My Organization User
设置为 false
,如下所示:
我们想在组织中的所有用户日历上创建日历权限,允许服务(用户邮箱)在用户日历上 read/write。
使用 Microsoft Graph 终结点执行此操作没有问题:Create calendarPermission
但我们希望最终用户无法删除此权限。这就是我们尝试将 isRemovable 属性 设置为 true 的原因。例如:
POST https://graph.microsoft.com/v1.0/users/UPN_OF_USER/calendar/calendarPermissions
Request Body
{
"emailAddress": {
"name": "VALID_USER_NAME",
"address": "VALID_USER_EMAIL_IN_TENANT@TENANT_DOMAIN"
},
"isInsideOrganization": true,
"isRemovable": false,
"role": "read"
}
但是每次我们添加这个权限时,isRemovable 属性 都会被设置为 true。
似乎 isRemovable 属性 在 documentation
中是只读的我在我的环境中测试了 API,结果相同。我测试了几个场景,发现 isInsideOrganization
由 My Organization user
决定,并且 isRemovable
对于所有用户默认设置为 true
因为他们可以 removed/deleted 来自除了 My Organization User
之外的 Sharee 和 Delegate 列表作为将哪些权限分配给哪些用户的决定权。
日历权限资源类型中也提到了Microsoft Documentation如下图:
场景:
通过提供两个参数和不提供参数为用户
inside the Organization
创建权限:带参数:
无参数:
通过提供两个参数而不提供参数作为
outside the Organization
为存在的用户创建权限 嗯:带参数:
无参数:
注意: IsRemovable
仅针对 My Organization User
设置为 false
,如下所示: