门户中设置的 RingCentral ReadPresenceSettings 在哪里?

Where is the RingCentral ReadPresenceSettings set in the portal?

我在 API 中看到了我角色的 ReadPresenceSettings 权限,但在在线帐户门户 (https://service.ringcentral.com) 中没有看到它。这对应于门户中的什么以便我可以 set/unset 它?

角色权限

请求

GET /restapi/v1.0/dictionary/user-role/:roleId
GET /restapi/v1.0/dictionary/user-role/3

回应

{
    "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/user-role/3",
    "id": "3",
    "displayName": "Standard (International)",
    "description": "User level access with international dialing access.",
    "custom": false,
    "scope": "Self",
    "hidden": false,
    "siteCompatible": false,
    "permissions": [
        {
            "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ReadPresenceSettings",
            "id": "ReadPresenceSettings",
            "assignable": false,
            "readOnly": false,
            "siteCompatible": "Independent"
        },
        ...
    ]
}

权限信息存在

当我检查状态信息端点时,我看到它被称为 "Read Presence Settings" 但门户中没有这样的权限。

请求

GET /restapi/v1.0/dictionary/permission/:permissionId
GET /restapi/v1.0/dictionary/permission/ReadPresenceSettings

回应

{
    "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ReadPresenceSettings",
    "id": "ReadPresenceSettings",
    "displayName": "Read Presence Settings",
    "assignable": false,
    "readOnly": false,
    "siteCompatible": "Independent",
    "category": {
        "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission-category/Features",
        "id": "Features"
    },
    "includedPermissions": []
}

我在这里使用 Postman 收集:

https://github.com/grokify/swaggman

RingCentral 权限可以相当精细,并非每个 API 权限都会出现在在线帐户门户中。

可分配给用户的权限由权限的布尔值 assignable 属性 指示。这设置为 false for ReadPresenceSettings.

一些权限是另一个可分配权限的子权限。在这种情况下,它们将列在权限 includedPermissions 属性.

在这种情况下,可分配的父权限为:API中的ConfigurePresence或UI中的"Configure Presence"。

找到可分配的父权限

要使用 API 找到它,请调用权限列表端点,然后检查 includedPermissions 属性 中 ReadPresenceSettings 的每个权限,其中 assignable 属性 也是 true.

请求

GET /restapi/v1.0/dictionary/permission

响应

响应将包含一组权限,如下所示。过滤可分配的权限并具有 ReadPresenceSettings 权限作为包含的权限 returns 仅 ConfigurePresence 对我来说。

{
    "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission?page=1&perPage=100",
    "records": [
        {
            "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ConfigurePresence",
            "id": "ConfigurePresence",
            "displayName": "Configure Presence",
            "description": "Allows to manage Presence settings",
            "assignable": true,
            "readOnly": false,
            "siteCompatible": "Independent",
            "category": {
                "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission-category/Features",
                "id": "Features"
            },
            "includedPermissions": [
                {
                    "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/EditPresenceStatus",
                    "id": "EditPresenceStatus",
                    "assignable": false,
                    "readOnly": false,
                    "siteCompatible": "Independent"
                },
                {
                    "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ReadPresenceSettings",
                    "id": "ReadPresenceSettings",
                    "assignable": false,
                    "readOnly": false,
                    "siteCompatible": "Independent"
                },
                {
                    "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ReadPresenceStatus",
                    "id": "ReadPresenceStatus",
                    "assignable": false,
                    "readOnly": false,
                    "siteCompatible": "Independent"
                },
                {
                    "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/EditPresenceSettings",
                    "id": "EditPresenceSettings",
                    "assignable": false,
                    "readOnly": false,
                    "siteCompatible": "Independent"
                }
            ]
        },
        ....
    ]
}

更新权限

获得可分配的父权限后,您可以照常为用户更新它。这样做也将具有子权限 enabled/disabled。例如,对于 ReadPresenceSettings,您可以照常使用在线帐户门户更新用户角色 "Configure Presence" 的权限。如果用户使用的是内置权限,您可能需要为用户创建一个新的、经过修改的角色(如果还没有的话)。

您可以在这篇知识库文章中了解有关如何执行此操作的更多信息:

https://success.ringcentral.com/articles/RC_Knowledge_Article/5-10-Editing-the-Extension-Permissions-via-Web