首页 > 解决方案 > 如何在 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.io

解决方案


agora 不接受字符串作为 uid,不得不切换到 int,这很不幸,因为我更喜欢使用 UUID,但这解决了问题


推荐阅读