2024/06/28 15:28:53
管理频道和用户
为方便开发者从服务端管理实时音视频频道,声网提供了集成简单、安全可靠的服务端 RESTful API。具体的功能和适用场景如下:
主要功能 | 功能描述 | 典型适用场景 |
---|---|---|
管理用户权限 | 通过调用 RESTful API 管理用户的权限,包括将指定用户移出频道、禁止指定用户发送音频流、禁止指定用户发送视频流。 | 需要在业务服务端管理用户权限的场景,例如:
|
查询在线频道信息 | 通过调用 RESTful API 查询在线频道列表、频道内的用户列表、指定用户的状态。 |
|
前提条件
- 有效的声网开发者账号和声网控制台项目。详见开通服务。
- 已经实现 HTTP 基本认证。
实现方法
所有频道管理 RESTful API 都通过 http://api.sd-rtn.com
访问。以查询项目的频道列表为例,在实现 HTTP 基本认证后,添加以下高亮区域的代码即可发送一个简单的请求,获取频道总数和每个频道内的用户人数:
Java
public class Base64Encoding {
public static void main(String[] args) throws IOException, InterruptedException {
// 客户 ID
// 需要设置环境变量 AGORA_CUSTOMER_KEY
final String customerKey = System.getenv("AGORA_CUSTOMER_KEY");
// 客户密钥
// 需要设置环境变量 AGORA_CUSTOMER_SECRET
final String customerSecret = System.getenv("AGORA_CUSTOMER_SECRET");
// App ID
// 需要设置环境变量 AGORA_APP_ID
final String appid = System.getenv("AGORA_APP_ID");
// 拼接客户 ID 和客户密钥并使用 base64 编码
String plainCredentials = customerKey + ":" + customerSecret;
String base64Credentials = new String(Base64.getEncoder().encode(plainCredentials.getBytes()));
// 创建 authorization header
String authorizationHeader = "Basic " + base64Credentials;
HttpClient client = HttpClient.newHttpClient();
// 创建 HTTP 请求对象
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("http://api.sd-rtn.com/dev/v1/channel/" + appid))
.GET()
.header("Authorization", authorizationHeader)
.header("Content-Type", "application/json")
.build();
// 发送 HTTP 请求
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
// 添加后续对响应内容的处理逻辑
}
}
你可以参考 API 文档查看每个频道管理 RESTful API 的详情,其中包含了多种语言的示例代码:
更多功能
你可以根据业务需求,将频道管理 RESTful API 和消息通知服务结合使用,实现稳定可靠、实时有效的频道管理和状态同步。
相关文档
- 封禁用户权限:了解封禁用户权限 API 的使用原则、适用场景、不适用场景以及接口调用异常处理的最佳实践。
- 保障 REST 服务高可用:如何避免因区域网络故障造成的服务不可用。