Springboot整合釘釘SDK并調用釘釘API

Springboot整合并調用釘釘SDK

在做企業內部考勤的時候需要調取釘釘的打卡和考勤信息,這里寫一下調用的測試方法

首先是官方的文檔連接 - >

https://developers.dingtalk.com/document/app/server-api-overview

獲取釘釘的APP_KEY

public static String APP_KEY = "企業申請的KRY";

獲取釘釘的APP_SECRET

public static String APP_SECRET = "企業申請的秘鑰";

拿到上面的內容使我們就可以去看API進行接口調用

當然 , 前提是要先下載并配置好釘釘的maven或者下載jar

我們就先以釘釘提供的獲取指定日期用戶考勤數據為例子

首先 要通過上面兩個變量獲取釘釘的Token認證

/**
     * 不通過redis的方式獲取 釘釘的token認證
     *
     * @author NEON
     * @date 2021/5/26 19:17
     */
    public static String getAccessToken(){
        String token = null;
        try {
            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
            OapiGettokenRequest request = new OapiGettokenRequest();
            request.setAppkey(APP_KEY);
            request.setAppsecret(APP_SECRET);
            request.setHttpMethod("GET");
            OapiGettokenResponse response = client.execute(request);
            token = response.getAccessToken();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return token;
    }

直接封裝成Util類

然后 , 我們通過文檔提供的案例調用方法

/**
     * @description -> 獲取指定日期用戶考勤數據
     * @author NEON
     * @date 2021/5/26 10:54
     */
    public static String getUserAttendanceDetails() throws ApiException {
        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/getupdatedata");
        OapiAttendanceGetupdatedataRequest req = new OapiAttendanceGetupdatedataRequest();
        req.setUserid("你要傳入的釘釘ID");
        req.setWorkDate(StringUtils.parseDateTime("2021-04-07 09:00:00"));
        OapiAttendanceGetupdatedataResponse rsp = client.execute(req, getAccessToken());
        System.out.println(rsp.getBody());
        return rsp.getBody();
    }

然后我們查看獲取的結果

{
    "errcode": 0,
    "result": {
        "approve_list": [],
        "attendance_result_list": [{
            "check_type": "OffDuty",
            "class_id": 11111111,
            "group_id": 11111111,
            "location_method": "MAP",
            "location_result": "Normal",
            "plan_check_time": "2021-04-07 18:00:00",
            "plan_id": 11111111,
            "record_id": 11111111,
            "source_type": "USER",
            "time_result": "Normal",
            "user_address": "網絡科技有限公司",
            "user_check_time": "2021-04-07 22:40:46"
        }, {
            "check_type": "OnDuty",
            "class_id": 11111111,
            "group_id": 11111111,
            "location_method": "MAP",
            "location_result": "Normal",
            "plan_check_time": "2021-04-07 09:00:00",
            "plan_id": 11111111,
            "record_id": 11111111,
            "source_type": "AUTO_CHECK",
            "time_result": "Normal",
            "user_address": "網絡科技有限公司",
            "user_check_time": "2021-04-07 08:53:05"
        }],
        "check_record_list": [{
            "base_accuracy": "0.0",
            "base_address": "網絡科技有限公司",
            "record_id": 11111111,
            "source_type": "USER",
            "user_accuracy": "11111111.0",
            "user_check_time": "2021-04-07 22:40:46",
            "user_latitude": "11111111.11111111",
            "user_longitude": "11111111.11111111",
            "valid_matched": true
        }, {
            "base_accuracy": "0.0",
            "base_address": "網絡科技有限公司",
            "record_id": 11111111,
            "source_type": "AUTO_CHECK",
            "user_accuracy": "11111111.0",
            "user_check_time": "2021-04-07 08:53:05",
            "user_latitude": "11111111.11111111",
            "user_longitude": "11111111.11111111",
            "valid_matched": true
        }],
        "class_setting_info": {
            "rest_time_vo_list": [{
                "rest_begin_time": 11111111,
                "rest_end_time": 11111111
            }]
        },
        "corpId": "11111111",
        "userid": "11111111",
        "work_date": "2021-04-07 09:00:00"
    },
    "success": true,
    "request_id": "11111111"
}

可以看到其實Java調用釘釘API接口是非常方便的

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容