<notebook_uri>/Sharesetting[.<format>]
notebookShareSetting 资源是单个 Notebook 资源的共享权限信息。通过发送 PUT 请求,可以更新单个 Notebook 的共享权限信息。Notebook 创建者和管理员可以更新单个 Notebook 的权限信息。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。
http://supermapiportal:8190/iportal/web/notebooks/{id}/sharesetting.rjson
修改单个 Notebook 资源的共享权限信息。
发送请求时,需要在请求体中传递如下参数:
名称 | 类型 | 含义 |
entityName | String | 实体 Name。对应的 USER(用户), ROLE(角色),GROUP(用户组)的名称。 |
entityType | EntityType | 实体类型。包括 USER(用户), ROLE(角色),GROUP(用户组)、IPORTALGROUP(群组)、DEPARTMENT(部门)。 |
permissionType | PermissionType | 权限类型。包括 READ(查看), READWRITE(查看/编辑),DELETE(查看/编辑/删除)。 |
entityId | Integer | 实体的 id。用于群组和部门的授权。 |
返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed | boolean | 修改单个 Notebook 的共享设置是否成功。 |
error | Httperror | 出错信息,如果修改 Notebook 的共享设置成功,则没有本字段。 |
notebookShareSetting 资源对应的更新单个 Notebook 的共享方式有五种,分别为私有、公开、指定部门、指定群组和指定用户。其中,公开又包含允许所有用户(包含匿名用户)可检索、可查看和允许所有用户(仅限登录用户)可编辑。并且可以同时设置该资源的共享方式为公开、指定部门、指定群组和指定用户,也可以单独设置共享方式,下面就单独设置共享方式分别举例说明(请确保 Notebook 创建者或管理员处于登录状态):
1. 私有
对 notebookShareSetting 资源:http://localhost:8190/iportal/web/notebooks/593446969/sharesetting.rjson 执行 PUT 请求,修改指定数据项 id 的 Notebook 的共享设置信息为私有,即只允许 Notebook 创建者和管理员可以检索、查看、编辑该 Notebook,发送请求体如下:
[
{
"permissionType": "DELETE",
"aliasName": "iPortal",
"entityType": "USER",
"entityName": "iPortal",
"entityId": null
}
]
则返回的 rjson 格式的响应结果如下:
{"succeed": true}
2. 公开
对 notebookShareSetting 资源:http://localhost:8190/iportal/web/notebooks/593446969/sharesetting.rjson 执行 PUT 请求,修改指定数据项 id 的 Notebook 的共享设置信息为公开,即所有用户(包含匿名用户)可以检索、可以查看,并且所有用户(仅限登录用户)可以编辑该 Notebook,发送请求体如下:
[
{
"permissionType": "READWRITE",
"entityName": "GUEST",
"entityType": "USER",
"entityId": null
}
]
则返回的 rjson 格式的响应结果如下:
{"succeed": true}
3. 指定部门
对 notebookShareSetting 资源:http://localhost:8190/iportal/web/notebooks/593446969/sharesetting.rjson 执行 PUT 请求,修改指定数据项 id 的 Notebook 的共享设置信息为指定部门,该部门内的所有成员都可以编辑该 Notebook,发送请求体如下:
[
{
"permissionType": "READWRITE",
"entityType": "DEPARTMENT",
"entityId": 1
}
]
则返回的 rjson 格式的响应结果如下:
{"succeed": true}
4. 指定群组
对 notebookShareSetting 资源:http://localhost:8190/iportal/web/notebooks/593446969/sharesetting.rjson 执行 PUT 请求,修改指定数据项 id 的 Notebook 的共享设置信息为指定群组,该群组内的所有成员都可以编辑该 Notebook,发送请求体如下:
[
{
"permissionType": "READWRITE",
"entityType": "IPORTALGROUP",
"entityId": 1
}
]
则返回的 rjson 格式的响应结果如下:
{"succeed": true}
5. 指定用户
对 notebookShareSetting 资源:http://localhost:8190/iportal/web/notebooks/593446969/sharesetting.rjson 执行 PUT 请求,修改指定数据项 id 的 Notebook 的共享设置信息为指定用户可查看,即指定用户 user1 可以查看该 Notebook,发送请求体如下:
[
{
"permissionType": "READWRITE",
"entityName": "user_1",
"entityType": "USER"
}
]
则返回的 rjson 格式的响应结果如下:
{"succeed": true}