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

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

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

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

自建企业应用对接第三方飞书消息接口(JAVA)_第1张图片

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

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

自建企业应用对接第三方飞书消息接口(JAVA)_第2张图片

1.第一步拿到token

自建企业应用对接第三方飞书消息接口(JAVA)_第3张图片

2.第二步选择查询参数是什么(里面有五个,大概就是 用户id 群组id 邮件id 等,看你制定发那个)自建企业应用对接第三方飞书消息接口(JAVA)_第4张图片  3,就是需要一些必要的参数(文本类型,内容  还有你上一步选择的id)

自建企业应用对接第三方飞书消息接口(JAVA)_第5张图片4.第四步就是调试一下,在这里弄明白以后,代码大概就知道怎么写了

自建企业应用对接第三方飞书消息接口(JAVA)_第6张图片

 自建企业应用对接第三方飞书消息接口(JAVA)_第7张图片

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

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 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 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 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;
    }

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

你可能感兴趣的:(java,java,开发语言)