自建企业应用对接第三方飞书消息接口(JAVA)

本文档详述如何使用JAVA对接飞书开放平台的消息接口,实现企业应用的消息推送。首先在飞书开发平台注册应用并调试API,获取token,然后指定查询参数如用户ID、群组ID等,最后编写控制层和业务层代码实现消息发送功能。

最近公司又安排了新需求,大概是我吗公司最近的应用消息推送到我们公司的飞书和企业微信

然后再写的过程中,去找的资料都不是很详细,我就想着这个需求写完了,就自己写一篇比较细的教程(个人认为)

1.去飞书开发平台找到这个接口飞书开放平台

 我们可以现在api调试一下知道一下简单的流程

在这之前你要自己先创建一个后台应用,我们公司又自己的测试环境 

1.第一步拿到token

2.第二步选择查询参数是什么(里面有五个,大概就是 用户id 群组id 邮件id 等,看你制定发那个)  3,就是需要一些必要的参数(文本类型,内容  还有你上一步选择的id)

4.第四步就是调试一下,在这里弄明白以后,代码大概就知道怎么写了

 

这样以后我们在他的控制台就调试成功,接下来上代码

1.控制层

@Api(value = "FsApiResource")
@Path("/work/fs/api")
@Component
@Produces("application/json")
public class FsApiResource {


    @Autowired
    private FsApiService fsApiService;

    @POST
    @Path("/sendMsg")
    @Consumes("application/json")
    @ApiOperation(value = "飞书发送消息接口")
    public String sendMsg(FsApiResDto fsApiResDto) throws Exception {
        return fsApiService.sendMsg(fsApiResDto);
    }
}

 2.业务层(第一步先获取token)


    public String getTenantAccessToken(){
        Map<String,String> tenantAccessTokenMap=new HashMap<>();
        tenantAccessTokenMap.put("app_id",appId);
        tenantAccessTokenMap.put("app_secret",appSecret);
        String tenantResult=null;
        String tenantAccesstoken=null;
        try{
            tenantResult=  HttpClientUtils.postGetAppTickets(getTenantAccessTokenUrl, JSONObject.toJSONString(tenantAccessTokenMap));

        }catch(Exception e){
            throw new BizException(MessageCode.builder().setCode(ErrorEnum.E000027.getCode()).setMessage(ErrorEnum.E000027.getMessage()));
        }
        Map<String,Object> tenantMaps= JSON.parseObject(tenantResult,Map.class);
        if("0".equals(tenantMaps.get("code").toString()) && tenantMaps.containsKey("tenant_access_token")){
            tenantAccesstoken = tenantMaps.get("tenant_access_token").toString();
        }else{
            throw new BizException(MessageCode.builder().setCode(ErrorEnum.E000037.getCode()).setMessage(ErrorEnum.E000037.getMessage()));
        }
        return tenantAccesstoken;
    }

2.这里就是拿到token以后发消息


    @Override
    public String sendMsg(FsApiResDto fsApiResDto) throws Exception {
        String tenantAccessToken = getTenantAccessToken();
        Map<String,Object> paramsMap = new HashMap<>();
        String msg = fsApiResDto.getMsg();
        msg ="{\"text\":\""+msg+"\"}";
        paramsMap.put("content",msg);
        paramsMap.put("receive_id",fsApiResDto.getUserId());
        paramsMap.put("msg_type",fsApiResDto.getMsgType());
        String result = HttpClientUtils.sendFs(url, tenantAccessToken, JSON.toJSONString(paramsMap));
        return result;
    }

大概就是这样的一个流程,如果哪里写的不是很详细可以指出问题

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不凡~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值