钉钉获取用户详情的请求示例:
public class Main {
public static void main(String[] args) {
try {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
OapiV2UserGetRequest req = new OapiV2UserGetRequest();
req.setUserid("001");
req.setLanguage("zh_CN");
OapiV2UserGetResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
} catch (ApiException e) {
e.printStackTrace();
}
}
}
钉钉数据返回示例:
{
"errcode":"0",
"result":{
"extension":"{\"爱好\":\"旅游\",\"年龄\":\"24\"}",
"unionid":"z21HjQliSzpw0YWxxxxx",
"boss":"true",
"role_list":{
"group_name":"职务",
"name":"总监",
"id":"100"
},
"exclusive_account":false,
"manager_userid":"manager240",
"admin":"true",
"remark":"备注备注",
"title":"技术总监",
"hired_date":"1597573616828",
"userid":"zhangsan",
"work_place":"未来park",
"dept_order_list":{
"dept_id":"2",
"order":"1"
},
"real_authed":"true",
"dept_id_list":"[2,3,4]",
"job_number":"4",
"email":"test@xxx.com",
"leader_in_dept":{
"leader":"true",
"dept_id":"2"
},
"mobile":"18513027676",
"active":"true",
"org_email":"test@xxx.com",
"telephone":"010-86123456-2345",
"avatar":"xxx",
"hide_mobile":"false",
"senior":"true",
"name":"张三",
"union_emp_ext":{
"union_emp_map_list":{
"userid":"5000",
"corp_id":"dingxxx"
},
"userid":"500",
"corp_id":"dingxxx"
},
"state_code":"86"
},
"errmsg":"ok"
}
获取钉钉返回数据中某个具体职位的方法:
OapiUserGetResponse rsp = client.execute(req, accessToken);
String body = rsp.getBody();
JSONObject jsonObject = JSONObject.parseObject(body);
JSONObject result = jsonObject.getObject("result", JSONObject.class);
String title = result.get("title").toString();