权限相关API
1. 权限相关API 概述
Public API,是指观远数据为系统集成提供的标准化开放接口。系统集成,通常是指将各个分离的设备(如个人电脑)、系统、功能和信息等集成到相互关联的、统一和协调的系统之中,使资源达到充分共享,实现集中、高效、便利的管理。系统集成实现的关键在于解决系统之间的互连和互操作性问题,是一个多厂商、多协议和面向各种应用的体系结构。
观远数据提供一套简便的验证机制,来供私有化部署用户进行外部系统和账户对接集成,实现集中、高效、便利的管理。本文将为您详细介绍观远数据为您提供的与权限相关的 Public API。
2. 权限相关API 列表速览
目前,与权限相关的 Public API 共包含8个,列表如下:
序号 | 接口描述 | PATH |
1 | 获取指定用户能访问的页面列表 | POST /public-api/user/:uId/get-authorized-pages |
2 | 获取指定用户能访问的数据集列表 | POST /public-api/user/:uId/get-authorized-datasets |
3 | 修改指定用户与各个页面的访问及归属关系 | POST /public-api/user/:uId/modify-authorized-pages |
4 | 修改指定用户与各个数据集的访问及归属关系 | POST /public-api/user/:uId/modify-authorized-datasets |
5 | 获取指定用户组能访问的页面列表 | POST /public-api/user-group/:ugId/get-authorized-pages |
6 | 获取指定用户组能访问的数据集列表 | POST /public-api/user-group/:ugId/get-authorized-datasets |
7 | 修改指定用户组与各个页面的访问及归属关系 | POST /public-api/user-group/:ugId/modify-authorized-pages |
8 | 修改指定用户组与各个数据集的访问及归属关系 | POST /public-api/user-group/:ugId/modify-authorized-datasets |
3. 权限相关API 具体说明
3.1 获取指定用户能访问的页面列表 (1019)
3.1.1 接口简介
请求方式:POST
请求地址:/public-api/user/:uId/get-authorized-pages?pgType=:pgType
3.1.2 参数说明
参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 |
token | 应用Token | Body | String | 是 | 在观远平台中获得 |
uId | 指定用户的Id | url | String | 是 | -- |
pgType | 指定LARGE_SCREEN则会返回大屏的权限信息,不指定(或者指定PAGE)则返回普通页面权限 | url | String | 否 | 以QueryString形式传递参数 |
3.1.3 请求与响应示例
POST Body Sample:
{
"token":"xdjfghfodjgjshgfiw23ehrt43"
}
Response Sample:
{
"result": "ok",
"response": [
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "地图卡片",
"id": "o4f72c9ea74544b52a87931c",
"isInherit": false,
"canExport":false // true 表示可以导出,false表示不可以导出
},
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": false,
"name": "【T】bug复现",
"id": "ia8f878c8bc0d4f86b9e676c"
},
……
]
}
Response返回的是个json object,其中result表示执行结果,response是返回的内容。response是个json array,每个单项的json对象里面,id是指资源的id(页面或者数据集),name是这个资源的名称,isOwner是个bool值,true表示是此资源的所有者。isInherit是指此资源是否是从用户组那里继承来的,如果是true,则sources里面会记录是从哪个用户组那里继承而来。如果是false,sources里面记录的是自己的用户信息。sources里面id是用户或者用户组的id,name是名字,isSelf是指是否是自己这个用户或者用户组。权限相关的其他API的response返回值的含义,均可参考此处。
3.2 获取指定用户能访问的数据集列表(1020)
3.2.1 接口简介
请求方式: POST
请求地址:/public-api/user/:uId/get-authorized-datasets
3.2.2 参数说明
参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 |
token | 应用Token | Body | String | 是 | 在观远平台中获得 |
3.2.3 请求与响应示例
POST Body Sample:
{
"token":"p3a369b32444b48caa873411",
}
Response Sample:
{
"result": "ok",
"response": [
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "feedtest",
"id": "c18baf7eaf7f848f881102e6",
"canExport":false, // true 表示可以导出,false表示不可以导出
"isInherit": false
},
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "模拟数据zy",
"id": "va7e7af8e771247f791bb90f",
"isInherit": false
},
.......
]
}
3.3 修改指定用户与各个页面的访问及归属关系(1022)
3.3.1 接口简介
请求方式:POST
请求地址:/public-api/user/:uId/modify-authorized-pages
3.3.2 参数说明
参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 |
token | 应用Token | Body | String | 是 | 在观远平台中获得 |
uId | 指定用户的Id | url | String | 是 | -- |
pages | 需要更改权限的页面列表 | Body | String | 否 | 仪表板与大屏对应的ID |
3.3.3 请求与响应示例
POST Body Sample:
{
"token":"sdjfghfodjgjshgfiw23ehrt43",
"pages":[{"pgId":"p34c5a5029903422298c67de","isOwner":false,"isReadable":true,"isExportable":true}]
}
pages中,pgId一般在观远页面获取,isOwner设为true表示将此用户设为这个页面的所有者,isReadable设为true表示将此用户设为这个页面的访问者,设置为false,则表示去掉用户对这个页面的相应权限;isExportable 表示是否可以导出(true表示可以导出;false表示不可以导出)。
Response Sample:
返回用户可以访问的所有页面列表。
{
"result": "ok",
"response": [
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "地图卡片",
"id": "o4f72c9ea74544b52a87931c",
"isInherit": false
},
……
]
}
3.4 修改指定用户与各个数据集的访问及归属关系(1023)
3.4.1 接口简介
请求方式:POST
请求地址:/public-api/user/:uId/modify-authorized-datasets
3.4.2 参数说明
参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 |
token | 应用Token | Body | String | 是 | 在观远平台中获得 |
uId | 指定用户的Id | url | String | 是 | -- |
datasets | 需要更改权限的数据集列表 | Body | String | 否 | -- |
3.4.3 请求与响应示例
POST Body Sample:
{
"token":"sdjfghfodjgjshgfiw23ehrt43",
"datasets":[{"dsId":"q0138226af8ea46d6825e043","isOwner":false,"isReadable":true,"isExportable":true}]
}
datasets中,dsId一般在观远页面获取表示数据集Id,isOwner设为true表示将此用户设为这个数据集的所有者,isReadable设为true表示将此用户设为这个数据集的访问者,设置为false,则表示去掉用户对这个数据集的相应权限;isExportable 表示是否可以导出(true表明可以导出;false表明不可以导出)。
Response Sample:
{
"result": "ok",
"response": [
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "feedtest",
"id": "c18baf7eaf7f848f881102e6",
"isInherit": false
},
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "123",
"id": "tdf9f50e6aa2945fda15a023",
"isInherit": false
},
……
]
}
3.5 获取指定用户组能访问的页面列表 (1024)
3.5.1 接口简介
请求方式:POST
请求地址:/public-api/user-group/:ugId/get-authorized-pages?pgType=:pgType
3.5.2 参数说明
参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 |
token | 应用Token | Body | String | 是 | 在观远平台中获得 |
ugId | 指定用户组的Id | url | String | 是 | -- |
pgType | 指定LARGE_SCREEN则会返回大屏的权限信息,不指定则返回普通页面权限 | url | String | 否 | -- |
3.5.3 请求与响应示例
POST Body Sample:
{
"token":"sdjfghfodjgjshgfiw23ehrt43"
}
Response Sample:
{
"result": "ok",
"response": [
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "地图卡片",
"id": "o4f72c9ea74544b52a87931c",
"canExport":false, // true 表示可以导出,false表示不可以导出
"isInherit": false
},
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": false,
"name": "【T】bug复现",
"id": "ia8f878c8bc0d4f86b9e676c"
},
……
]
}
3.6 获取指定用户组能访问的数据集列表(1025)
3.6.1 接口简介
请求方式:POST
请求地址:/public-api/user-group/:ugId/get-authorized-datasets
3.6.2 参数说明
参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 |
token | 应用Token | Body | String | 是 | 在观远平台中获得 |
3.6.3 请求与响应示例
POST Body Sample:
{
"token":"sdjfghfodjgjshgfiw23ehrt43"
}
Response Sample:
{
"result": "ok",
"response": [
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "feedtest",
"id": "c18baf7eaf7f848f881102e6",
"canExport":false, // true 表示可以导出,false表示不可以导出
"isInherit": false
},
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "模拟数据zy",
"id": "va7e7af8e771247f791bb90f",
"isInherit": false
},
.......
]
}
3.7 修改指定用户组与各个页面的访问及归属关系(1026)
3.7.1 接口简介
请求方式:POST
请求地址:/public-api/user-group/:ugId/modify-authorized-pages
3.7.2 参数说明
参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 |
token | 应用Token | Body | String | 是 | 在观远平台中获得 |
ugId | 指定用户组的Id | url | String | 是 | -- |
pages | 需要更改权限的页面列表 | Body | String | 否 | -- |
3.7.3 请求与响应示例
POST Body Sample:
{
"token":"sdjfghfodjgjshgfiw23ehrt43",
"pages":[{"pgId":"p34c5a5029903422298c67de","isOwner":false,"isReadable":true,"isExportable":true}]
}
pages中,pgId一般在观远页面获取,isOwner设为true表示将此用户设为这个页面的所有者;isReadable设为true表示将此用户设为这个页面的访问者,设置为false,则表示去掉用户对这个页面的相应权限;isExportable 表示是否可以导出。
Response Sample:
{
"result": "ok",
"response": [
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "地图卡片",
"id": "o4f72c9ea74544b52a87931c",
"isInherit": false
},
……
]
}
3.8 修改指定用户组与各个数据集的访问及归属关系(1027)
3.8.1 接口简介
请求方式: POST
请求地址:POST /public-api/user-group/:ugId/modify-authorized-datasets
3.8.2 参数说明
参数名 | 参数值说明 | Location | 类型 | 是否必填 | 备注 |
token | 应用Token | Body | String | 是 | 在观远平台中获得 |
uId | 指定用户的Id | url | String | 是 | -- |
datasets | 需要更改权限的数据集列表 | Body | String | 否 | -- |
3.8.3 请求与响应示例
POST Body Sample:
{
"token":"sdjfghfodjgjshgfiw23ehrt43",
"datasets":[{"dsId":"q0138226af8ea46d6825e043","isOwner":false,"isReadable":true,"isExportable":true}]
}
datasets中,dsId一般在观远页面获取表示数据集Id,isOwner设为true表示将此用户设为这个数据集的所有者,isReadable设为true表示将此用户设为这个数据集的访问者。设置为false,则表示去掉用户对这个数据集的相应权限;isExportable 表示是否可以导出。
Response Sample:
{
"result": "ok",
"response": [
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "feedtest",
"id": "c18baf7eaf7f848f881102e6",
"isInherit": false
},
{
"sources": [
{
"isSelf": true,
"id": "u969b654d7cd14610b0b246f",
"name": null
}
],
"isOwner": true,
"name": "123",
"id": "tdf9f50e6aa2945fda15a023",
"isInherit": false
},
……
]
}