调用企业微信打卡记录

导入maven一来 OkHttp3
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>3.0.0</version>
</dependency>
根据 corpid   corpsecret 获取accessToken

private static final String gettokenurl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpid
        + "&corpsecret=" + corpsecret;
//得到access_token
String reqData = "access_token";
String result = HttpClientPost(gettokenurl, "", reqData);
//根据用户列表和时间得到人员,在此段时间的打卡记录 startTime endTime 为UnixTime lstUserNoStr可以用[\"111111\"]
private String punchrecordurl = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=";        String accessToken = this.getAccessToken();
        //startTime  endTime 之间最多相差五天 , lstUserNo 最多一百个用户
        logger.info("accessToken:{[]}", accessToken);
        String json = " { \"opencheckindatatype\": 3,\"starttime\": " + startTime + ",\"endtime\": " + endTime + ",\"useridlist\": " + lstUserNoStr + "}";
        String reqData = "checkindata";
        String result = HttpClientPost(punchrecordurl + accessToken, json, reqData);
private String HttpClientPost(String url, String json, String reqData) {
    OkHttpClient client = new OkHttpClient();
    RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), json);
    Request request = new Request.Builder().post(body).url(url).build();
    logger.info("HttpClientPost  url :" + url);
    Response response = null;
    try {
        response = client.newCall(request).execute();
        JSONObject jsobj = JSON.parseObject(response.body().string());
        if (jsobj.getShort("errcode") == 0) {
            return jsobj.getString(reqData);
        } else {
            // 获取失败
            logger.error("企业微信调用失败 HttpClientPost " + jsobj.getShort("errcode"));
            return "";
        }

    } catch (IOException e) {
        logger.error("getPunchRecord Error{}", e);
    }
    return "";
}
发布了47 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_34233080/article/details/102813270
今日推荐