Где на портале устанавливается RingCentral ReadPresenceSettings?

Я вижу разрешение ReadPresenceSettings в API для своей роли, но не вижу его на портале учетных записей в Интернете (https://service.ringcentral.com). Чему это соответствует на портале, чтобы я мог установить/снять его?

Разрешение в роли

Запрос

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"
        },
        ...
    ]
}

Информация о разрешении существует

Когда я проверяю конечную точку информации о присутствии, я вижу, что она называется «Чтение настроек присутствия», но на портале нет такого разрешения.

Запрос

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


person Grokify    schedule 14.08.2018    source источник


Ответы (1)


Разрешения RingCentral могут быть довольно детализированными, и не все разрешения API отображаются на портале онлайн-аккаунтов.

Разрешения, которые можно назначать пользователям, обозначаются логическим свойством разрешения assignable. Это установлено на false для ReadPresenceSettings.

Некоторые разрешения являются дочерними разрешениями другого назначаемого разрешения. В этом случае они будут перечислены в свойстве разрешений includedPermissions.

В этом случае назначаемое родительское разрешение: ConfigurePresence в API или «Настроить присутствие» в пользовательском интерфейсе.

Поиск назначаемого родительского разрешения

Чтобы найти это с помощью API, вызовите конечную точку списка разрешений, а затем проверьте каждое разрешение на ReadPresenceSettings в свойстве includedPermissions, где свойство assignable также равно true.

Запрос

GET /restapi/v1.0/dictionary/permission

Ответ

Ответ будет включать в себя массив разрешений следующим образом. Фильтрация назначаемых разрешений, имеющих разрешение ReadPresenceSettings в качестве включенных разрешений, возвращает мне только 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"
                }
            ]
        },
        ....
    ]
}

Обновление разрешения

Получив назначаемое родительское разрешение, вы можете обновить его для пользователя, как обычно. При этом также будут включены/отключены дочерние разрешения. Например, для ReadPresenceSettings вы должны обновить разрешение роли пользователя «Настройка присутствия» с помощью онлайн-портала учетных записей, как обычно. Если пользователь использует встроенное разрешение, вам может потребоваться создать новую измененную роль для пользователя, если ее еще нет.

Вы можете узнать больше о том, как это сделать, в этой статье базы знаний:

https://success.ringcentral.com/articles/RC_Knowledge_Article/5-10-Editing-the-Extension-Permissions-через-Web

person Grokify    schedule 14.08.2018
comment
Добавлен раздел «Обновление разрешения» выше, чтобы описать, как обновить включенное разрешение. - person Grokify; 15.08.2018