最近公司又安排了新需求,大概是我吗公司最近的应用消息推送到我们公司的飞书和企业微信
然后再写的过程中,去找的资料都不是很详细,我就想着这个需求写完了,就自己写一篇比较细的教程(个人认为)
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;
}
大概就是这样的一个流程,如果哪里写的不是很详细可以指出问题
本文档详述如何使用JAVA对接飞书开放平台的消息接口,实现企业应用的消息推送。首先在飞书开发平台注册应用并调试API,获取token,然后指定查询参数如用户ID、群组ID等,最后编写控制层和业务层代码实现消息发送功能。


&spm=1001.2101.3001.5002&articleId=126891817&d=1&t=3&u=7c0f4d91dd464bd4838a7e7ab1e32165)

被折叠的 条评论
为什么被折叠?



