导入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 ""; }