服务端
API 参考
圈组

频道身份组

更新时间: 2024/03/15 14:27:33

频道身份组用于对用户在频道维度进行权限控制。频道身份组分为两种,@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 的设置如下:

参数
类型
必须
说明
accidString操作者accid
serverIdString服务器唯一标识
serverRoleIdString继承自服务器哪个身份组的id
channelIdString频道的唯一标识

示例

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 的设置如下:

参数
类型
必须
说明
accidString操作者accid
serverIdString服务器唯一标识
roleIdString频道身份组的id,新建和查询频道身份组返回的roleid,非服务器身份组的roleid
channelIdString频道的唯一标识
authsString

用于修改权限的 JSON 字段, 其格式为 {resource1:type1,resource2:type2,resource3:type3}。

  • resource 表示权限项, 其有效取值代表的具体权限项如下:
    • 2:管理频道的权限,拥有该权限可创建、修改或删除频道
    • 3:管理角色的权限,拥有该权限可创建、修改或删除身份组
    • 4:发送消息的权限
    • 9:撤回他人消息的权限
    • 10:删除他人消息的权限
    • 11:@ 他人的权限,拥有该权限可在发送消息时@他人
    • 12:@ 所有人的权限,拥有该权限可在发送消息时@所有人
    • 13:管理频道黑白名单的权限,拥有该权限可将服务器成员加入或移出频道黑名单
    • 15:实时互动频道:建立自己连接的权限
    • 16:实时互动频道:断开他人连接的权限
    • 17:实时互动频道:开启自己麦克风的权限
    • 18:实时互动频道:开启自己摄像头的权限
    • 19:实时互动频道:开启/关闭他人麦克风的权限
    • 20:实时互动频道:开启/关闭他人摄像头的权限
    • 21:实时互动频道:开启/关闭全员麦克风的权限
    • 22:实时互动频道:开启/关闭全员摄像头的权限
    • 23:实时互动频道:打开自己屏幕共享的权限
    • 24:实时互动频道:关闭他人屏幕共享的权限
    • 27:@身份组的权限,拥有该权限可在发送消息时@指定几个身份组的所有成员
  • type 表示操作类型,其取值代表的操作如下:

    • -1:关闭权限(deny)
    • 1:开启权限(allow)
    • 0: 继承圈组服务器维度下对应权限项的状态

示例

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 的设置如下:

参数
类型
必须
说明
accidString操作者accid
serverIdString服务器唯一标识
roleIdString频道身份组的id,新建和查询频道身份组返回的roleid,非服务器身份组的roleid
channelIdString频道的唯一标识

示例

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 的设置如下:

参数
类型
必须
说明
accidString操作者accid
serverIdString服务器唯一标识
channelIdString频道的唯一标识
timetagString频道身份组按照创建时间由大到小排序,分页的锚点,每页页尾数据的创建时间,不传或者传0默认为首页,首页会将@everyone身份组放在返回结果第一条返回,比其他页多一条数据
limitString每页限制查询的数量,不传时默认为 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

此文档是否对你有帮助?
有帮助
去反馈
  • 创建频道身份组
  • URL
  • 参数说明
  • 示例
  • curl请求示例
  • 返回示例
  • 状态码
  • 修改频道身份组
  • URL
  • 参数说明
  • 示例
  • curl请求示例
  • 返回示例
  • 状态码
  • 删除频道身份组
  • URL
  • 请求参数
  • 示例
  • curl请求示例
  • 返回示例
  • 状态码
  • 分页查询频道身份组
  • URL
  • 请求参数
  • 示例
  • curl请求示例
  • 返回示例
  • 状态码