agora.io - 如何在 agora.io 踢用户?
问题描述
当我发送带有以下正文的请求时,我试图让房间主机能够踢用户,我使用其余的 api 踢用户:
public CompletableFuture<Boolean> actionOnUser(String action, Long channelId, String userId) {
CompletableFuture<Boolean> completableFuture = new CompletableFuture<>();
Map body = new HashMap<>();
body.put("appid", agoraConfig.getAppId());
body.put("uid", userId);
body.put("time", 0);
body.put("cname", channelId.toString());
body.put("ip", "");
String[] privileges = { action };
body.put("privileges", privileges);
Mono<String> agoraResponse = webClient().post().uri("/dev/v1/kicking-rule").bodyValue(body).retrieve()
.bodyToMono(String.class).doOnSuccess(response -> {
logger.info("kicking-rule response status:" + response);
completableFuture.complete(true);
}).doOnError(onError -> {
logger.info("kicking rule failed" + onError);
completableFuture.complete(false);
});
agoraResponse.subscribe();
return completableFuture;
}
我得到一个 200 OK 响应,其中包含踢规则的 id,但用户没有被踢,我该如何解决这个问题?
编辑:显然agora不接受字符串作为uid,不得不切换到int,这是不幸的,因为我更喜欢使用UUID,但这解决了这个问题
解决方案
agora 不接受字符串作为 uid,不得不切换到 int,这很不幸,因为我更喜欢使用 UUID,但这解决了问题
推荐阅读
- javascript - Laravel - PHP array_push 为 Ajax 生成编号索引
- python - 为什么我用这个神经网络得到错误/不连贯的结果?
- python - 如何将日期时间格式转换为分钟 - 熊猫
- maven - 如何并行构建maven模块
- git - 在以前版本的主仓库中获取子模块的哈希而不签出
- javascript - 具有固定高度的可折叠文本
- ruby-on-rails - CanCan 关联能力
- java - 如何创建动态 jpa 查询?
- python - 输入法在 Anaconda 3.5.5 中因 mayavi 导入而挂起
- json - 如何使用 flink 制作 Map[String, Any] 流