频道用户定制权限
更新时间: 2024/07/17 17:57:35
除了可以通过频道身份组对所有身份组成员在频道维度进行权限控制,也可以为单个频道成员专门定制权限,管控其在频道维度的操作。
创建用户定制权限
为某个成员创建定制权限。新创建的定制权限配置默认继承自频道身份组相应权限的配置。
服务器创建者以外的用户调用该 API 必须先拥有管理角色权限和管理频道的权限,且必须是该频道的成员。
URL
httpPOST https://api.netease.im/nimserver/qchat/createUserIdentify.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 | 是 | 频道的唯一标识 |
faccid | String | 是 | 被操作的用户的accid |
示例
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk49bk**03mgq3" -H "Nonce: 4tggge**323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&accid="accid"&channelId=10010&faccid="faccid"' 'http://imtest.netease.im/nimserver/qchat/createUserIdentify.action'
返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"identify": {
"serverId": 2,//服务器唯一标识
"channelId": 1,//频道唯一标识
"createtime": 1,//创建时间
"accid": "accid",//用户的accid
"auths": "{\"1\":-1, \"2\":1}",//个人定制权限,key为具体权限项的枚举值,value为 1 时表示开启,为 -1 时表示关闭,为 0 时表示该权限项的开启状态继承自频道身份组的对应权限项
"avatar": "name",//用户在服务器下的头像
"inviter": "icon",//邀请者的用户账号
"joinTime": 1,//用户加入服务器的时间
"nick": "icon",//昵称
"memberType": 1,//类型:0-普通成员,1-所有者
"custom": "icon",//用户的自定义扩展字段
"updatetime": 1//更新时间
}
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
该 API 的状态码主要如下: 200、403、414、416、431、500
删除用户定制权限
服务器创建者以外的用户调用该 API 必须先拥有管理角色权限和管理频道的权限,且必须是该频道的成员。
URL
httpPOST https://api.netease.im/nimserver/qchat/deleteUserIdentify.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 | 是 | 频道的唯一标识 |
faccid | String | 是 | 被操作的用户的accid |
示例
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk4**lw0803mgq3" -H "Nonce: 4tggge**323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&accid="accid"&channelId=10010&faccid="faccid"' 'http://imtest.netease.im/nimserver/qchat/deleteUserIdentify.action'
返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
该 API 的状态码主要如下: 200、403、414、416、431、500
修改用户定制权限
服务器创建者以外的用户调用该 API 必须先拥有管理角色权限和管理频道的权限,且必须是该频道的成员。
URL
httpPOST https://api.netease.im/nimserver/qchat/updateUserIdentify.action HTTP/1.1
Content-Type:application/x-www-form-urlencoded;charset=utf-8
请求参数
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
accid | String | 是 | 操作者accid |
serverId | String | 是 | 服务器唯一标识 |
channelId | String | 是 | 频道的唯一标识 |
faccid | String | 是 | 被操作的用户的accid |
auths | String | 否 | 用于修改权限的 JSON 字段, 其格式为 {resource1:type1,resource2:type2,resource3:type3}。
|
示例
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk**lw0803mgq3" -H "Nonce: 4tggge**23t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&accid="accid"&channelId=10010&faccid="faccid"&auths="{\"1\":1}"' 'http://imtest.netease.im/nimserver/qchat/updateUserIdentify.action'
返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"identify": {
"serverId": 2,//服务器唯一标识
"channelId": 1,//频道唯一标识
"createtime": 1,//创建时间
"accid": "accid",//用户的accid
"auths": "{\"1\":-1, \"2\":1}",//个人定制权限,key为权限项的枚举值,value为 1 时表示该权限项开启,为-1 时表示该权限项关闭,为 0 则表示该权限项的状态继承频道身份组相应权限项的状态
"avatar": "name",//用户在服务器下的头像
"inviter": "icon",//邀请者的用户账号
"joinTime": 1,//用户加入服务器的时间
"nick": "icon",//昵称
"memberType": 1,//类型:0-普通成员,1-服务器所有者(即创建者)
"custom": "icon",//用户的自定义扩展字段
"updatetime": 1 // 用户定制权限的更新时间
}
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
该 API 的状态码主要如下: 200、403、414、416、431、500
分页查询用户定制权限
分页查询某些频道成员的定制权限,查询到的结果按照创建时间由大到小排序。
URL
httpPOST https://api.netease.im/nimserver/qchat/getUserIdentifyPages.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 默认为查询服务器当前时间之前的 limit 条数据 |
limit | String | 否 | 每页查询的数量 |
示例
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk**glw0803mgq3" -H "Nonce: 4tggger**23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'serverId=1513535&accid="accid"&channelId=10010&timetag=11111111111&limit=20' 'http://imtest.netease.im/nimserver/qchat/getUserIdentifyPages.action'
返回示例
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"identifies":[{
"serverId": 2,//服务器唯一标识
"channelId": 1,//频道唯一标识
"createtime": 1,//创建时间
"accid": "accid",//用户的accid
"auths": "{\"1\":-1, \"2\":1}",//个人定制权限,key为具体权限项的枚举值,value为 1 时表示该权限项开启,为 -1 时表示关闭,为 0 表示继承频道身份组相应权限项的开启状态。
"avatar": "name",//用户在服务器下的头像
"inviter": "icon",//邀请者的用户账号
"joinTime": 1,//用户加入服务器的时间
"nick": "icon",//昵称
"memberType": 1,//类型:0-普通成员,1-所有者(即创建者)
"custom": "icon",//用户的自定义扩展字段
"updatetime": 1//用户定制权限的更新时间
}]
}
状态码
该 API 在 HTTPS Body 中返回请求的状态码,状态码详情请参见状态码。
该 API 的状态码主要如下: 200、403、414、416、431、500