public class dingtalkGet {
public static String doGet(String url) throws URISyntaxException {
String result = null;
HttpGet request = new HttpGet(url);
HttpClient httpClient = new DefaultHttpClient();
try {
HttpResponse response = httpClient.execute(request);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
result = EntityUtils.toString(response.getEntity(), "utf-8");
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 获取钉钉的accessToken
*
* @param url
* @param corpid
* @param secret
* @return
* @throws URISyntaxException
*/
public static String getAccessToken(String url, String corpid, String secret) throws URISyntaxException {
String requestUrl = url + "?corpid=" + corpid + "&corpsecret=" + secret;
String result = doGet(requestUrl);
String accessToken = null;
com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
jsonObject = JSON.parseObject(result);
String msg = (String) jsonObject.get("errmsg");
if ("ok".equals(msg)) {
accessToken = (String) jsonObject.get("access_token");
}
return accessToken;
}
@Test
public static void test(JSONArray jsonArray) {
DingTalkClient client = new DefaultDingTalkClient("https://eco.taobao.com/router/rest");
SmartworkBpmsProcessinstanceGetRequest req = new SmartworkBpmsProcessinstanceGetRequest ();
String process_instance_id ="";
String dingtalk_smartwork_bpms_processinstance_create_response="";
String result ="";
for(int i=0;i<jsonArray.size();i++){
JSONObject job = jsonArray.getJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
dingtalk_smartwork_bpms_processinstance_create_response =job.getString("dingtalk_smartwork_bpms_processinstance_create_response");
}
JSONObject jsons = JSONObject.fromObject(dingtalk_smartwork_bpms_processinstance_create_response);
JSONArray jsonArrays = JSONArray.fromObject(jsons);
for(int j=0;j<jsonArrays.size();j++){
JSONObject job = jsonArrays.getJSONObject(j); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
result =job.getString("result");
}
JSONObject jsonp = JSONObject.fromObject(result);
JSONArray jsonArrayp = JSONArray.fromObject(jsonp);
for (int p = 0; p < jsonArrayp.size(); p++) {
JSONObject job = jsonArrayp.getJSONObject(p); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
process_instance_id =job.getString("process_instance_id");
}
req.setProcessInstanceId(process_instance_id);//审批流的唯一码
SmartworkBpmsProcessinstanceGetResponse rsp = null;
try {
rsp = client.execute(req,getAccessToken("https://oapi.dingtalk.com/gettoken","表单编码","企业ID"));
} catch (ApiException e) {
e.printStackTrace();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}