角色相关API
1. 角色相关API 概述
Public API,是指观远数据为系统集成提供的标准化开放接口。系统集成,通常是指将各个分离的设备(如个人电脑)、系统、功能和信息等集成到相互关联的、统一和协调的系统之中,使资源达到充分共享,实现集中、高效、便利的管理。系统集成实现的关键在于解决系统之间的互连和互操作性问题,是一个多厂商、多协议和面向各种应用的体系结构。
观远数据提供一套简便的验证机制,来供私有化部署用户进行外部系统和账户对接集成,实现集中、高效、便利的管理。本文将为您详细介绍观远数据为您提供的与角色相关的 Public API。
2. 角色相关API 列表速览
目前,与角色相关的 Public API 共包含2个,列表如下:
| 序号 | 接口描述 | PATH | 
| 1 | 查询某一用户的角色信息 | POST /public-api/role/getUserRoles | 
| 2 | 为用户添加角色信息 | POST /public-api/role/addUserRoles | 
| 3 | 解绑某一用户的角色信息 | POST /public-api/role/deleteUserRoles | 
3. 角色相关API 具体说明
3.1 查询某一用户的角色信息
3.1.1 接口简介
请求方式:POST
请求地址:POST /public-api/role/getUserRoles
3.1.2 参数说明
| 参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 | 
| token | 应用Token | Body | String | 是 | 在观远平台中获得 | 
| users | 需要查询的用户loginId | Body | List[String] | 是 | -- | 
3.1.3 请求与响应示例
POST Body Sample:
{
  "token":"xxx", 
  "users":["loginId"]
}
注意: 一次只能查询一个用户;如果输入多个用户loginId,只会返回第一个用户的角色查询结果,所以请勿输入多个用户loginId。
Response Sample:
{
    "result": "ok",
    "response": {
        "BuiltIn Roles": {
            "editor": "ff690e0f4abfb4f0bbeb1278", // 账户类型角色名称:账户类型角色ID
            "groupManager":"db7f075dded184f2485d5a2b" // 组管理员角色名称:组管理员角色ID
        },
        "Customized Roles": [
            [
                "自定义角色A", // role name
                "f7ea009e79d274ba586a0199" // role ID
            ],
            [
                "自定义角色B",
                "j765062f3555a454ab758b5c"
            ],
            ....
        ]
    }
}
字段说明:
BuiltIn Roles 中包含用户的账户类型(admin/editor/participant)以及组管理员角色(groupManager);
Customized Roles 中包含用户的所有自定义角色。
3.2 为某一用户增添自定义角色
3.2.1 接口简介
请求方式:POST
请求地址:POST /public-api/role/addUserRoles
3.2.2 参数说明
| 参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 | 
| token | 应用Token | Body | String | 是 | 在观远平台中获得 | 
| loginId | 需要修改的用户loginId | Body | String | 是 | -- | 
| roles | 需要添加的角色id: roleID | Body | List[String] | 是 | -- | 
3.2.3 请求与响应示例
POST Body Sample:
{
  "token":"l430012ed74b342ef90b7275",
  "loginId": "loginId", 
  "roles":[
    "roleId1",
    "roleId2",
    "roleId3",
    ...
    ]
}
Response Sample:
成功:
{
    "result": "ok",
    "response": "3 Roles modified successfully for user - loginId"
}
失败(如某些角色ID不存在,导致部分修改失败):
{
    "result": "fail",
    "response": null,
    "error": {
        "status": 1005,
        "message": "2 Roles modified successfully. Failed to modify role: roleId3, role not exist",
        "detail": {
            "notifyType": 1
        }
    }
}
3.3 为某一用户解绑自定义角色
3.2.1 接口简介
请求方式:POST
请求地址:POST /public-api/role/deleteUserRoles
3.2.2 参数说明
| 参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 | 
| token | 应用Token | Body | String | 是 | 在观远平台中获得 | 
| loginId | 需要解绑的用户loginId | Body | String | 是 | -- | 
| roles | 需要解绑的角色id: roleID | Body | List[String] | 是 | -- | 
3.2.3 请求与响应示例
POST Body Sample:
{
  "token":"l430012ed74b342ef90b7275",
  "loginId": "loginId", 
  "roles":[
    "roleId1",
    "roleId2",
    "roleId3",
    ...
    ]
}
Response Sample:
成功:
{
    "result": "ok",
    "response": "3 Roles modified successfully for user - loginId"
}
失败(如某些角色ID不存在,导致部分修改失败):
{
    "result": "fail",
    "response": null,
    "error": {
        "status": 1005,
        "message": "2 Roles modified successfully. Failed to modify role: roleId3, role not exist",
        "detail": {
            "notifyType": 1
        }
    }
}