浅谈腾讯云IM接入方式(java后端)

华展鹏
2023-12-01

小白入门接入腾讯云IM教程

        腾讯云IM接口文档相当齐全,可以供开发者快速接入单聊、群聊功能到企业系统中。开发者可以根据自己的业务需求,利用相应的接口实现自己的业务需求。如群聊,自定义发言、自定义禁言、自定义在线状态等功能。

一、注册账号

1、注册好腾讯云账号,登录进行创建应用,获取到sdkappid、secretkey、userId。

二、引入依赖及获取userSign

1、引入依赖

<dependency>
   <groupId>com.github.tencentyun</groupId>
   <artifactId>tls-sig-api-v2</artifactId>
   <version>2.0</version>
</dependency>

2、获取userSign(参考即时通信 IM 生成 UserSig - 服务端 API - 文档中心 - 腾讯云

public String genUserSig(String userId) {
    TLSSigAPIv2 api = new TLSSigAPIv2(sdkAppId, secretKey);
    String userSig = api.genUserSig(userId, expireTime);
    return userSig;
}

三、基本业务需要用到的接口

1、导入单个账号(即时通信 IM 导入单个帐号 - 服务端 API - 文档中心 - 腾讯云)。

2、导入多个账号。

3、查询账号。

4、删除账号。

5、创建群组。

6、解散群组。

7、导入群成员。

8、删除群成员。

9、设置资料(设置群成员昵称等)。

10、在群组中发送普通消息(自定义消息)。

11、群、单聊发言前、后回调接口(详见https://blog.csdn.net/wode3157695297/article/details/121063652)。

四、接口调用demo方法-导入单个账号

public Result<?> accountImport(JSONObject jsonObject) {
        String identifier = jsonObject.getString("identifier"); // 用户名,长度不超过32字节
        String nick = jsonObject.getString("nick"); // 用户昵称
        String faceUrl = jsonObject.getString("faceUrl"); // 用户头像 URL
        if (oConvertUtils.isEmpty(identifier)) {
            Result.Tips("用户名不能为空!");
        }
        Long random = RandomUtil.genRandomNum(32);
String accountImport= "https://console.tim.qq.com/v4/im_open_login_svc/account_import?sdkappid=%s&identifier=%s&usersig=%s&random=%s&contenttype=json";
        try {
            String userSig = genUserSig();
            String url = String.format(accountImport, sdkAppId, userId, userSig, random);
            JSONObject js = new JSONObject();
            js.put("Identifier", identifier);
            js.put("Nick", nick);
            js.put("FaceUrl", faceUrl);
            String body = HttpUtil.post(url,js.toString());
            log.info("导入单个账号应答包体报文:{}", body);
            if (StrUtil.isEmpty(body)) {
                return null;
            }
            //ErrorCode    Integer    错误码,0表示成功,非0表示失败
            Integer code = (Integer) JSONUtil.parseObj(body).get("ErrorCode");
            if (code == 0) {
                //导入单个账号成功
                return Result.OK("导入单个账号成功!");
            }
            return Result.OK(body);
        } catch (Exception e) {
            log.error("导入单个账号异常", e);
            return Result.OK(e);
        }
    }

总结:由于接入腾讯云IM有一段时间了,才写这篇文章,所以只列举了一些关键接口,和一个demo,如有小白需要接入,可以多看腾讯云在线接口文档,里面有详细的说明,本文只是记录和引导小白去看文档开发作用。

 类似资料: