频道身份组
更新时间: 2024/07/17 17:57:34
频道身份组用于对用户在频道维度进行权限控制。频道身份组分为两种,@everyone 身份组和自定义身份组。其中 @everyone 身份组在频道创建时默认自动创建,自定义身份组需要用户手动创建。
频道下 @everyone 身份组的属性默认继承自服务器的 @everyone 身份组。
创建频道身份组
默认情况下,频道直接使用服务器身份组来控制权限。如有需要,可创建一个频道自定义身份组,新增的频道身份组的权限配置默认继承自服务器身份组(调用时必须通过serverRoleId
指定新增的频道身份组继承自哪个服务器身份组)。
调用本 API 需要拥有管理角色权限和频道管理权限,且必须是该频道的成员。
URL
httpPOST https://api.netease.im/nimserver/qchat/createChannelIdentify.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
参数说明
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
accid | String | 是 | 操作者accid |
serverId | String | 是 | 服务器唯一标识 |
serverRoleId | String | 是 | 继承自服务器哪个身份组的id |
channelId | String | 是 | 频道的唯一标识 |
示例
curl请求示例
curlcurl -X POST -H "AppKey: go9dn**glw0803mgq3" -H "Nonce: 4tggg**w323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&accid="accid"&serverRoleId=2&channelId=10001' 'http://api.netease.im/nimserver/qchat/createChannelIdentify.action'
返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"identify": {
"serverId": 2,//服务器唯一标识
"channelId": 1,//频道唯一标识
"createtime": 1,//创建时间
"roleId": 1,//频道身份组唯一标识
"auths": "{\"1\":-1, \"2\":1}",//频道身份组的权限,key为权限的枚举值,value为1允许,-1拒接,0忽略(也叫继承服务器权限)
"serverRoleId": 1,//继承自服务器身份组的id
"name": "name",//继承自服务器身份组的名称
"icon": "icon",//继承自服务器身份组的头像
"ext": "ext",//继承自服务器身份组的扩展字段
"type": 1,//继承自服务器身份组的类型,1everyone身份组,2自定义身份组
"updatetime": 1
}
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
该 API 主要状态码: 200、403、414、416、431、500
修改频道身份组
修改频道的自定义身份组。
- 调用该 API 必须先拥有管理角色权限和管理频道权限,且必须是该频道的成员。
- 用户无法配置自己没有的权限。假如用户没有权限A,则无法修改权限A 的状态(开启、关闭或继承)。
- 用户无法将自己拥有的某个权限在全部所属身份组中都设置为关闭。例如用户有 10 个身份组且这 10 个身份组都开启权限A,那么用户最多可以将其中 9 个身份组的权限A 设置为关闭。
URL
httpPOST https://api.netease.im/nimserver/qchat/updateChannelIdentify.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
参数说明
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
accid | String | 是 | 操作者accid |
serverId | String | 是 | 服务器唯一标识 |
roleId | String | 是 | 频道身份组的id,新建和查询频道身份组返回的roleid,非服务器身份组的roleid |
channelId | String | 是 | 频道的唯一标识 |
auths | String | 否 | 用于修改权限的 JSON 字段, 其格式为 {resource1:type1,resource2:type2,resource3:type3}。
|
示例
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk4**lw0803mgq3" -H "Nonce: 4tg**3t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&accid="accid"&roleId=2&channelId=10010&auths="{\"1\":1}"' 'http://api.netease.im/nimserver/qchat/updateChannelIdentify.action'
返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"identify": {
"serverId": 2,//服务器唯一标识
"channelId": 1,//频道唯一标识
"createtime": 1,//创建时间
"roleId": 1,//频道身份组唯一标识
"auths": "{\"1\":-1, \"2\":1}",//频道身份组的权限,key为权限的枚举值,value为1允许,-1拒接,0忽略(也叫继承服务器权限)
"serverRoleId": 1,//继承自服务器身份组的id
"name": "name",//继承自服务器身份组的名称
"icon": "icon",//继承自服务器身份组的头像
"ext": "ext",//继承自服务器身份组的扩展字段
"type": 1,//继承自服务器身份组的类型,1everyone身份组,2自定义身份组
"updatetime": 1
}
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
该 API 主要状态码: 200、403、414、416、431、500
删除频道身份组
删除频道的自定义身份组。
调用该 API 必须先拥有管理角色权限和管理频道权限,且必须是该频道的成员。
URL
httpPOST https://api.netease.im/nimserver/qchat/deleteChannelIdentify.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
accid | String | 是 | 操作者accid |
serverId | String | 是 | 服务器唯一标识 |
roleId | String | 是 | 频道身份组的id,新建和查询频道身份组返回的roleid,非服务器身份组的roleid |
channelId | String | 是 | 频道的唯一标识 |
示例
curl请求示例
curl
curl -X POST -H "AppKey: go9dnk4**kglw0803mgq3" -H "Nonce: 4tgg**3t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&accid="accid"&roleId=2&channelId=10001' 'http://api.netease.im/nimserver/qchat/deleteChannelIdentify.action'
返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
"Content-Type": "application/json; charset=utf-8"
{
"code":200
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
该 API 主要状态码: 200、403、414、416、431、500
分页查询频道身份组
分页查询频道的身份组列表,返回的身份组信息包括频道创建时间、频道身份组的权限信息和所继承的服务器身份组的 ID 等。
URL
httpPOST https://api.netease.im/nimserver/qchat/getChannelIdentifyPages.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
-
POST 请求中 Headers 的设置请参考API调用方式。
-
POST 请求中 Body 的设置如下:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
accid | String | 是 | 操作者accid |
serverId | String | 是 | 服务器唯一标识 |
channelId | String | 是 | 频道的唯一标识 |
timetag | String | 否 | 频道身份组按照创建时间由大到小排序,分页的锚点,每页页尾数据的创建时间,不传或者传0默认为首页,首页会将@everyone身份组放在返回结果第一条返回,比其他页多一条数据 |
limit | String | 否 | 每页限制查询的数量,不传时默认为 200条,最大为 200 |
示例
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk**lw0803mgq3" -H "Nonce: 4tggg**3t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&accid="accid"&channelId=10010&timetag=1111111111111&limit=10' 'http://api.netease.im/nimserver/qchat/getChannelIdentifyPages.action'
返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"identifies":[{
"serverId": 2,//服务器唯一标识
"channelId": 1,//频道唯一标识
"createtime": 1,//创建时间
"roleId": 1,//频道身份组唯一标识
"auths": "{\"1\":-1, \"2\":1}",//频道身份组的权限,key为权限的枚举值,value为1允许,-1拒接,0忽略(也叫继承服务器权限)
"serverRoleId": 1,//继承自服务器身份组的id
"name": "name",//继承自服务器身份组的名称
"icon": "icon",//继承自服务器身份组的头像
"ext": "ext",//继承自服务器身份组的扩展字段
"type": 1,//继承自服务器身份组的类型,1everyone身份组,2自定义身份组
"updatetime": 1
}]
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
该 API 主要状态码: 200、403、414、416、431、500