文章目录

  • 一、token获取步骤
  • 二、打卡数据同步步骤
  • 三、飞书的posthttp请求步骤
  • 四、打卡的设置步骤
  • 总结

一、token获取步骤

AppID和AppSecret在自建企业应用里获取,通过调用飞书的token接口程序获取结果,用redis把token存起来,重复利用。

    //获取飞书access_tokenpublic String getAccessToken() {String url = "https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal";String app_access_token = (String) redisTemplate.opsForValue().get("app_access_token");if (app_access_token == null || "".equals(app_access_token)) {Map<String,Object> map=new HashMap();map.put("app_id",AppID);map.put("app_secret",AppSecret);try {String result = sendFeiShuHttpPost(url, JSON.toJSONString(map),null);JSONObject jsonObject = JSONObject.parseObject(result);app_access_token = jsonObject.getString("app_access_token");Integer expire = Integer.valueOf(jsonObject.getString("expire"));//有效时间redisTemplate.opsForValue().set("app_access_token", app_access_token, expire, TimeUnit.SECONDS);} catch (Exception e) {e.printStackTrace();}}return app_access_token;}

二、打卡数据同步步骤

url拼接的时候,实在链接后面拼接官方文档说查询参数。我需要的是employee_id,所以拼接employee_id。
时间需要自己定义,官方的格式是yyyyMMdd。

代码如下(示例):

 public Object getFeiShuAttendanceAll(String data,List<String> allEmployees){String accessToken = getAccessToken();String url= "https://open.feishu.cn/open-apis/attendance/v1/user_tasks/query?employee_type=employee_id&ignore_invalid_users=true";Map<String,Object> map=new HashMap();int nowData=Integer.valueOf(data);map.put("user_ids",allEmployees);map.put("check_date_from",nowData);map.put("check_date_to",nowData);JSONObject jsonObject=null;try {String result =sendFeiShuHttpPost(url, JSON.toJSONString(map),accessToken);jsonObject = JSONObject.parseObject(result);}} catch (Exception e) {e.printStackTrace();}return jsonObject ;}

三、飞书的posthttp请求步骤

    //飞书http请求public static String sendFeiShuHttpPost(String url, String JSONBody,String token) throws Exception {CloseableHttpClient httpClient = HttpClients.createDefault();HttpPost httpPost = new HttpPost(url);httpPost.addHeader("Content-Type", "application/json");if (!com.luttica.core.util.StringUtils.isEmpty(token)){httpPost.addHeader("Authorization","Bearer "+token);}httpPost.setEntity(new StringEntity(JSONBody));CloseableHttpResponse response = httpClient.execute(httpPost);HttpEntity entity = response.getEntity();String responseContent = EntityUtils.toString(entity, "UTF-8");response.close();httpClient.close();return responseContent;}

四、打卡的设置步骤

需要登录飞书后台管理在飞书自带的打卡的程序里选择账号。

最后在自建的应用程序申请读取打卡的权限。


总结

提示:这里对文章进行总结:
例如:本文仅仅简单介绍了飞书的打卡的api的使用。通过这几个步骤获取打卡数据,之后的业务代码就需要自己去具体处理。

Java飞书三方网站对接相关推荐

  1. [java]飞书机器人签名校验GenSign方法

    飞书的机器人的签名校验比较麻烦,网上找了一圈没找到java版本的获取签名的方法,分享一下,代码如下 public String getSign(String timestamp){//注意timest ...

  2. 易快报对接飞书的五个关键步骤

    易快报对接飞书的五个关键步骤 本文通过配置易快报出站消息.获取易快报token.配置飞书机器人.获取飞书token.业务需求开发,这五个步骤,来讲述易快报的消息通知自动推送至飞书的基本过程. 建议阅读 ...

  3. 【测试团队管理】Node版钉钉飞书机器人提醒团队成员每日缺陷状态

    一.场景 日常一般会通过jira bug面板筛选条件筛选出bug,如:经办人.状态.标签等,但这需要人为主动去筛选搜索,如果有一个定时每日钉钉群.飞书群提醒每个人截止当日bug情况就比较直观,对测试团 ...

  4. 第三方网页应用对接飞书Java版

    具体开发流程在飞书官方文档都有,大家可以参考这个链接:开发文档 - 飞书开放平台飞书开发文档中包含丰富多样的开发指南.教程和示例,让开发者获得愉悦.高效的应用开发体验.https://open.fei ...

  5. 飞书的聊天信息服务器,飞书服务端SDK java

    飞书开放接口SDK 概述 飞书开放平台,便于企业应用与飞书集成,让协同与管理更加高效,概述 飞书开发接口SDK,便捷调用服务端API与订阅服务端事件,例如:消息&群组.通讯录.日历.视频会议. ...

  6. Java端飞书接口开发

    背景 由于业务需求,目前开发的系统中需要调用飞书的接口,打通飞书和该系统,实现统一管理员工的目的. 这次主要开发的接口是获取飞书部门和员工列表的接口.通过企业自建应用发送飞书消息的接口.获取飞书打卡日 ...

  7. zabbix对接飞书机器人告警

    一.环境 zabbix-5.0.13 Python3 飞书 二.创建飞书机器人 将webhook地址复制,并保存好 三.Python脚本 vim /usr/lib/zabbix/alertscript ...

  8. java工程师去字节飞书可以,字节跳动飞书Java后端开发暑假实习一面(过了)

    字节跳动----飞书一面(过了) 2021.3.9 30分钟 0.自我介绍 1.项目提问(7分钟) 2.TCP的四次挥手(八股文) 3.网络7层模型(八股文) 4.HTTP和HTTPS(八股文) 5. ...

  9. 金蝶云星空与飞书系统对接方案(飞书审批)

    方案简介 由于办公协同系统负责审批事件为主,而传统ERP系统缺乏多样的审批流程,不能完成多人对一个事件进行审批同意实施,不方便采购或出库的申请单的审批,和出差的申请,结合两者功能的配合着使用.采用&q ...

最新文章

  1. 输出超限怎么解决 oj_三菱PLC输出指示灯输出模块不亮怎么解决
  2. mysql ptquerydigest_MySQL - pt-query-digest的下载与使用
  3. 打印Show Atend and Tell编码器的优化器
  4. Qt Creator指定文本编辑器设置
  5. Java多线程之8Lock问题解析
  6. python字符串去头尾_悉尼大学某蒟蒻的Python学习笔记
  7. C#单例模式的简单使用
  8. 从底部上滑失灵_iPad 上这 20 个快捷操作,真正帮你提高生产力!
  9. Java面向对象总复习-QuickHit
  10. 为什么成功启动ngnix之后还是无法用ip地址访问网站
  11. 50个好网站,从此上网不再虚度!
  12. 安卓修改电池容量教程_手机电池校正 - 安卓最精确的电量校正方法 - iTeknical
  13. java根据时间判断星期几_java怎么根据日期判断是星期几
  14. 京东七夕报名要注意什么?四川万顿思
  15. 三剑客-shell篇(讲解贼详细)
  16. 服务器中使用Top命令后,参数解释
  17. 机械图样解读——尺寸线及尺寸界线,尺寸标注
  18. java编写的音乐播放器
  19. 紫丁香终于没有坚持到第11年
  20. 最长公共子串与最长公共子序列

热门文章

  1. LaTeX 注释快捷键
  2. linux原子过程,linux系统编程:IO读写过程的原子性操作实验
  3. 如何成为技术大神(文末有抽奖)
  4. Python——from collections import namedtuple
  5. 记录: 去掉String的最后一个逗号
  6. 5G标准设立 智慧城市还有哪四大挑战?
  7. 计算机网络分布式处理的应用,谈计算机网络发展及其应用研究
  8. Redis 如何实现库存扣减操作和防止被超卖
  9. Redis Cluster(集群)模式下批量删除key
  10. AMD皓龙系列服务器CPU,霄龙PK皓龙!AMD CPU 10年历史对比:一步登天