请求说明 :
请求方式:GET(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token=ACCESS_TOKEN&id=ID
| 参数 | 必须 | 说明 |
|---|---|---|
| access_token | 是 | 调用接口凭证 |
| id | 否 | 部门id。获取指定部门及其下的子部门(以及子部门的子部门等等,递归)。 如果不填,默认获取全量组织架构 |
权限说明:
只能拉取token对应的应用的权限范围内的部门列表
返回结果:
{"errcode": 0,"errmsg": "ok","department": [{"id": 2,"name": "广州研发中心","name_en": "RDGZ","department_leader":["zhangsan","lisi"],"parentid": 1,"order": 10},{"id": 3,"name": "邮箱产品部","name_en": "mail","department_leader":["lisi","wangwu"],"parentid": 2,"order": 40}]}
返回参数说明:
| 参数 | 说明 |
|---|---|
| errcode | 返回码 |
| errmsg | 对返回码的文本描述内容 |
| department | 部门列表数据。 |
| id | 创建的部门id |
| name | 部门名称,代开发自建应用需要管理员授权才返回;此字段从2019年12月30日起,对新创建第三方应用不再返回,2020年6月30日起,对所有历史第三方应用不再返回name,返回的name字段使用id代替,后续第三方仅通讯录应用可获取,未返回名称的情况需要通过通讯录展示组件 来展示部门名称 |
| name_en | 英文名称,此字段从2019年12月30日起,对新创建第三方应用不再返回,2020年6月30日起,对所有历史第三方应用不再返回该字段 |
| department_leader | 部门负责人的UserID;第三方仅通讯录应用可获取 |
| parentid | 父部门id。根部门为1 |
| order | 在父部门中的次序值。order值大的排序靠前。值范围是[0, 2^32) |
JAVA程序
@Overridepublic Integer saveAllFromWx() {//企业微信获取部门的api地址String url = "https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token={ACCESS_TOKEN}";//根据通讯录密钥获取的tokenString token = baseNumvarService.getAccessTokenBySecret(baseNumvarService.getSecret_txl());HashMap<String, Object> hashMap = MapUtils.newHashMap();hashMap.put("ACCESS_TOKEN", token);//http请求Map forObject = restTemplate.getForObject(url, Map.class, hashMap);//获取返回结果里的department结果ArrayList list = (ArrayList) forObject.get("department");int n = 0;for (Object o : list) {//map转JSON字符串String jsonString = JSONObject.toJSONString(o);//字符串转java对象WxDepartment wxDepartment = JSON.parseObject(jsonString, WxDepartment.class);//设置排序,因为order在mysql里是系统字符串有冲突wxDepartment.setSortnum(wxDepartment.getOrder());//新增或更新saveOrUpdate(wxDepartment);n++;}return n;}
