API文档说明:
https://developer.work.weixin.qq.com/document/path/90196
基本概念介绍
https://developer.work.weixin.qq.com/document/path/90665
在通讯录同步助手中此接口可以读取企业通讯录的所有成员的信息,而自建应用可以读取该应用设置的可见范围内的成员信息。
请求方式:GET(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=USERID
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
userid | 是 | 成员UserID。对应管理端的帐号,企业内必须唯一。不区分大小写,长度为1~64个字节 |
access_token获取方法
方法1,点击文档里的“调试工具”
https://open.work.weixin.qq.com/wwopen/devtool/interface?doc_id=10019
填写corpsecret,就可以获取到access_token
方法2、还可以通过接口获取
corpsecret获取方法
这个地方,“查看”和“重新获取”应该都可以得到corpsecret
userid获取
第一步:获取部门成员的信息
参考官方API文档:获取部门成员-简单信息
封装java请求方法
public List<Map<String, Object>> getSimplelistByDepartmentId(Integer id) {
if (id == null) {
id = 1;//默认根部门
}
//获取部门成员
String url = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token={ACCESS_TOKEN}&department_id={DEPARTMENT_ID}&fetch_child=1";
HashMap<String, Object> map = MapUtils.newHashMap();
map.put("ACCESS_TOKEN", baseNumvarService.getAccessTokenBySecret(baseNumvarService.getSecret_txl()));
map.put("DEPARTMENT_ID", id);
Map forObject = restTemplate.getForObject(url, Map.class, map);
if ((Integer) forObject.get("errcode") == 0) {
return (List<Map<String, Object>>) forObject.get("userlist");
}
return null;
}
参考官方API文档:获取部门成员-详细信息
public List<Map<String, Object>> getlistByDepartmentId(Integer id) {
if (id == null) {
id = 1;//默认根部门
}
//获取部门成员
String url = "https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token={ACCESS_TOKEN}&department_id={DEPARTMENT_ID}&fetch_child=1";
HashMap<String, Object> map = MapUtils.newHashMap();
map.put("ACCESS_TOKEN", baseNumvarService.getAccessTokenBySecret(baseNumvarService.getSecret_txl()));
map.put("DEPARTMENT_ID", id);
Map forObject = restTemplate.getForObject(url, Map.class, map);
if ((Integer) forObject.get("errcode") == 0) {
return (List<Map<String, Object>>) forObject.get("userlist");
}
return null;
}