在 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,结果相同。我测试了几个场景,发现 isInsideOrganizationMy Organization user 决定,并且 isRemovable 对于所有用户默认设置为 true 因为他们可以 removed/deleted 来自除了 My Organization User 之外的 Sharee 和 Delegate 列表作为将哪些权限分配给哪些用户的决定权。

日历权限资源类型中也提到了Microsoft Documentation如下图:

场景:

  1. 通过提供两个参数和不提供参数为用户 inside the Organization 创建权限:

    带参数:

    无参数:

  2. 通过提供两个参数而不提供参数作为 outside the Organization 为存在的用户创建权限 嗯:

    带参数:

    无参数:

注意: IsRemovable 仅针对 My Organization User 设置为 false,如下所示: