Java飞书三方网站对接


一、token获取步骤

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

    //获取飞书access_token
    public 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的使用。通过这几个步骤获取打卡数据,之后的业务代码就需要自己去具体处理。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 基于Redis多服务共享,2level缓存,适用微信小程序Token等三方Token管理续期 随着移动互联网技术的发展和用户需求的变化,【小程序名称】应运而生,以其轻量化、便捷化的设计理念为用户提供了一种全新的服务模式。作为一款无需下载安装即可使用的应用,【小程序名称】依托于微信庞大的生态系统,让用户在微信内就能轻松实现各种功能操作。 【小程序名称】的核心功能主要集中在【具体服务领域】,例如在线购物、本地生活服务、教育学习或健康管理等。它简化了传统APP繁琐的注册登录流程,支持微信一键授权登录,极大地提升了用户体验。用户通过搜索或扫描二维码,瞬间即可开启使用,享受快速加载、流畅运行的服务。 该小程序界面设计简洁明了,布局合理,易于上手。同时,其特色功能如实时更新的信息推送、个性化推荐以及社交分享功能,让用户能够及时获取所需信息,并方便地将优质内容分享至朋友圈或好友,实现信息的高效传播与互动。 【小程序名称】注重数据安全与隐私保护,严格遵守国家法律法规和微信平台的规定,确保用户数据的安全无虞。此外,其背后的开发团队持续迭代更新,根据用户反馈不断优化产品性能,提升服务质量,致力于打造一个贴近用户需求、充满活力的小程序生态。 总结来说,【小程序名称】凭借其小巧便携、快捷高效的特性,不仅节省了用户的手机存储空间,更为用户提供了无缝衔接的便利服务,是现代生活中不可或缺的一部分,真正实现了“触手可及”的智能生活新体验。只需轻点屏幕,无限精彩尽在掌握之中。
Java公众号扫码登录三方网站的具体过程如下: 1. 需要实现一个Java公众号的登录功能,使用户可以通过扫描二维码进行登录。首先,在Java公众号中生成一个登录二维码,可以使用一些第三方库(如Google的ZXing库)生成二维码图像。 2. 用户在三方网站的登录页面中选择使用Java公众号扫码登录,网站生成一个唯一的登录状态码(token)并将其存储在服务器上。 3. Java公众号用户打开扫码登录功能,并使用手机相机或者Java公众号内置的扫码功能扫描登录页面上的二维码图像。 4. Java公众号接收到用户的扫码请求后,将请求的参数(如token)发送给服务器进行验证。服务器通过验证参数的有效性,确认用户的登录请求,并返回一个登录授权码(authorization code)给Java公众号。 5. Java公众号接收到服务器返回的授权码后,再次向服务器发起请求,使用授权码来获取用户的登录凭证(access token)。服务器验证授权码的有效性,并返回一个包含访问令牌的响应给Java公众号。 6. Java公众号接收到服务器返回的访问令牌后,将其存储在本地,即可代表用户在三方网站登录成功。Java公众号可以使用访问令牌来进行后续的操作,如获取用户信息、访问用户的资源等。 通过以上步骤,Java公众号可以实现扫码登录三方网站的功能。整个过程中,涉及到Java公众号与服务器的交互,以及服务器对用户身份的验证和授权操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值