ZEGO 服务端提供了一套 用户封禁规则
接口,当开发者需要从业务后台直接管理用户的登录、推流等权限时,可以通过设置相关的封禁规则(例如通过用户的 IP 地址、UserId 等信息),直接封禁对应的用户,从而实现违规用户不能登录某些房间、或登录房间后不能开麦等功能。
开发者还可以查询已存在的封禁规则、删除过期或不适用的封禁规则,更好地维护业务秩序,保护用户权益,提升产品体验。
如需使用该功能,请联系 ZEGO 技术支持开启相关权限。
方法名 | 请求方法 | 传输协议 | 调用频率限制(同一个 AppID 下所有房间) | 请求地址 |
---|---|---|---|---|
GET |
HTTPS |
10 次/秒 |
https://rtc-api.zego.im/?Action=SetForbidUserRule |
|
1 次/秒 |
https://rtc-api.zego.im/?Action=DescribeForbidUserRules |
|||
10 次/秒 |
https://rtc-api.zego.im/?Action=DelForbidUserRule |
下文详细介绍 用户封禁规则
接口的请求参数配置、响应参数说明。
当开发者需要封禁某些用户时,需要先通过 SetForbidUserRule
设置对应的用户封禁规则。
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 中的 “2.1 公共请求参数”。
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
RuleType |
Int32 |
是 |
封禁规则类型:
其中,最多可设置的规则条数,指同时在有效期内的规则条数,不包含已失效的规则。 如果您不需要某些规则,请及时调用 删除用户封禁规则 接口进行清理。 |
IP |
String |
RuleType 取值为 1 时,该参数必填。 |
IP 地址。 |
RoomId |
String |
RuleType 取值为 2、4 时,该参数必填。 |
房间 ID。 |
UserId |
String |
RuleType 取值为 3、4 时,该参数必填。 |
用户 ID。 |
DisabledPrivilege[] |
Array of Int32 |
是 |
封禁用户所能使用的功能:
|
EffectiveTime |
Int64 |
是 |
封禁规则有效时长,单位:秒,取值范围 1 ~ 86400(1 天)。 |
参数配置举例:
假设需要封禁的用户是 user1,未登录房间 room1:
假设需要封禁的用户是 user1,且已登录房间 room1,无论 RuleType 取值如何:
https://rtc-api.zego.im/?Action=SetForbidUserRule
&RuleType=2
&RoomId=room1
&DisabledPrivilege[]=1&DisabledPrivilege[]=2
&EffectiveTime=1800
&<公共请求参数>
参数 | 类型 | 描述 |
---|---|---|
Code |
Int32 |
返回码。 |
Message |
String |
操作结果描述。 |
RequestId |
String |
请求 ID。 |
Data |
Object |
响应数据。 |
ExpireTime |
Int64 |
封禁规则的过期时间,Unix 时间戳,单位:秒。 |
{
"Code": 0,
"Message": "success",
"RequestId": "TestRequestId1675674022729915000",
"Data": {
"ExpireTime": 1704282648
}
}
设置规则成功后,通过 DescribeForbidUserRules
了解当前已存在的用户封禁规则。
调用 DescribeForbidUserRules
接口,可以查询到当前处于有效期内的规则,也可以查询到已失效的规则。请注意,ZEGO 会不定期清理数据库中的已失效的封禁规则,调用本接口查询得到的失效规则列表可能不完整。
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 中的 “2.1 公共请求参数”。
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
RuleType |
Int32 |
是 |
需要查询的封禁规则类型:
|
https://rtc-api.zego.im/?Action=DescribeForbidUserRules
&RuleType=2
&<公共请求参数>
参数 | 类型 | 描述 |
---|---|---|
Code |
Int32 |
返回码。 |
Message |
String |
操作结果描述。 |
RequestId |
String |
请求 ID。 |
Data |
Object |
响应数据。 |
RuleList |
Array of Object |
用户封禁规则列表。 |
RuleType |
Int32 |
封禁规则类型:
|
IP |
String |
IP 地址。RuleType 为 1 时,该参数有值。 |
RoomId |
String |
房间 ID。RuleType 为 2、4 时,该参数有值。 |
UserId |
String |
用户 ID。RuleType 为 3、4 时,该参数有值。 |
DisabledPrivilegeList |
Array of Int32 |
规则封禁用户所能使用的功能:
|
ExpireTime |
Int64 |
用户封禁规则的过期时间,Unix 时间戳,单位:秒。 |
{
"Code": 0,
"Message": "success",
"RequestId": "TestRequestId1675674022729915000",
"Data": {
"RuleList": [
{
"RuleType": 2,
"IP": "",
"RoomId": "room1",
"UserId": "",
"DisabledPrivilegeList": [
1,
2
],
"ExpireTime": 1704282648
},
{
"RuleType": 2,
"IP": "",
"RoomId": "room2",
"UserId": "",
"DisabledPrivilegeList": [
1
],
"ExpireTime": 1704282648
}
]
}
}
响应结果中,Code 为 0 表示查询成功,不为 0 表示查询失败,请参考 4 返回码 进行处理。
当某些用户封禁规则失效、无用或规则总条数超过上限时,可以通过 DelForbidUserRule
删除用户封禁规则。
每个 RuleType 所支持设置的最大条数限制不同,如果您不需要某些规则,请及时调用本接口进行清理。此外,ZEGO 也会不定期清理数据库中的已失效的封禁规则。
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 中的 “2.1 公共请求参数”。
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
RuleType |
Int32 |
是 |
所需删除的封禁规则类型:
|
IP |
String |
RuleType 取值为 1 时,该参数必填。 |
IP 地址。 |
RoomId |
String |
RuleType 取值为 2、4 时,该参数必填。 |
房间 ID。 |
UserId |
String |
RuleType 取值为 3、4 时,该参数必填。 |
用户 ID。 |
https://rtc-api.zego.im/?Action=DelForbidUserRule
&RuleType=2
&RoomId=room1
&<公共请求参数>
参数 | 类型 | 描述 |
---|---|---|
Code |
Int32 |
返回码。 |
Message |
String |
操作结果描述。 |
RequestId |
String |
请求 ID。 |
{
"Code": 0,
"Message": "success",
"RequestId": "TestRequestId1675674022729915000"
}
以下仅列出了常见的接口业务逻辑相关的返回码,完整返回码请参考 全局返回码。
返回码 | 说明 | 处理建议 |
---|---|---|
0 | 请求成功。 | - |
1 | 请求失败。 | 请联系 ZEGO 技术支持处理。 |
2 | 输入参数错误。 | - |
9 | 未开通当前接口的使用权限。 | 请联系 ZEGO 技术支持处理。 |
206 | App 请求 QPS 过高被限制。 | 降低请求频率,或联系 ZEGO 技术支持提高 QPS 限制阈值。 |
50123 | 当前处于有效期内的封禁规则条数超过限制。 | 请减少规则条数。 |
联系我们
文档反馈