一、简介
同步数据到企微:
企业如果需要从自有的系统同步通讯录到企业微信,需要使用 通讯录同步secret。
如果企业委托授权第三方服务商将通讯录从其他系统同步到企业微信,则需要企业授权“通讯录编辑授权”给服务商。
从企微获取数据:
自建应用、代开发应用、第三方应用在提供功能时,往往需要获取通讯录,开发者可查阅成员、部门、标签相关的接口说明。
注意,自建应用、代开发应用、第三方应用仅能读取通讯录,不能编辑,且仅能读取可见范围内的通讯录。
https://developer.work.weixin.qq.com/document/path/90193
二、获取token
1、获取秘钥
获取corpid(企业ID)
获取corpsecret(应用的凭证密钥)
2、获取Token
请求方式: GET(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwf219ef106b04c3c4&corpsecret=TBiRs37_qfwTgGA8HjQMskybQ6njS4IJS5VVhuzgeYU
参数说明:
参数 | 必须 | 说明 |
corpid | 是 | 企业ID,获取方式参考:术语说明-corpid |
corpsecret | 是 | 应用的凭证密钥,注意应用需要是启用状态,获取方式参考:术语说明-secret |
返回结果:
{ "errcode": 0, "errmsg": "ok", "access_token": "accesstoken000001", "expires_in": 7200 }
参数说明:
参数 | 说明 |
errcode | 出错返回码,为0表示成功,非0表示调用失败 |
errmsg | 返回码提示语 |
access_token | 获取到的凭证,最长为512字节 |
expires_in | 凭证的有效时间(秒) |
注意事项:
开发者需要缓存access_token,用于后续接口的调用(注意:不能频繁调用gettoken接口,否则会受到频率拦截)。当access_token失效或过期时,需要重新获取。
access_token的有效期通过返回的expires_in来传达,正常情况下为7200秒(2小时),有效期内重复获取返回相同结果,过期后获取会返回新的access_token。
由于企业微信每个应用的access_token是彼此独立的,所以进行缓存时需要区分应用来进行存储。
access_token至少保留512字节的存储空间。
企业微信可能会出于运营需要,提前使access_token失效,开发者应实现access_token失效时重新获取的逻辑。
权限说明:
每个应用有独立的secret,获取到的access_token只能本应用使用,所以每个应用的access_token应该分开来获取
三、获取部门数据
1、获取部门列表
**请求方式:**GET(HTTPS)
**请求地址:**https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token=ACCESS_TOKEN&id=ID
https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token={{access_token}}&id=1980054547
参数说明 :
参数 | 必须 | 说明 |
access_token | 是 | 调用接口凭证 |
id | 否 | 部门id。获取指定部门及其下的子部门(以及子部门的子部门等等,递归)。 如果不填,默认获取全量组织架构 |
2、获取子部门ID列表
**请求方式:**GET(HTTPS)
**请求地址:**https://qyapi.weixin.qq.com/cgi-bin/department/simplelist?access_token=ACCESS_TOKEN&id=ID
参数说明 :
参数 | 必须 | 说明 |
access_token | 是 | 调用接口凭证 |
id | 否 | 部门id。获取指定部门及其下的子部门(以及子部门的子部门等等,递归)。 如果不填,默认获取全量组织架构 |
3、获取单个部门详情
**请求方式:**GET(HTTPS)
**请求地址:**https://qyapi.weixin.qq.com/cgi-bin/department/get?access_token=ACCESS_TOKEN&id=ID
参数说明 :
参数 | 必须 | 说明 |
access_token | 是 | 调用接口凭证 |
id | 是 | 部门id。 |
https://qyapi.weixin.qq.com/cgi-bin/department/get?access_token={{access_token}}&id=4
四、获取成员信息
1、读取成员
**请求方式:**GET(HTTPS)
**请求地址:**https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=USERID
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token={{ACCESS_TOKEN}}&userid={{USERID}}
参数 | 必须 | 说明 |
access_token | 是 | 调用接口凭证 |
userid | 是 | 成员UserID。对应管理端的帐号,企业内必须唯一。不区分大小写,长度为1~64个字节 |
2、获取部门成员
**请求方式:**GET(HTTPS)
**请求地址:**https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID
参数说明:
参数 | 必须 | 说明 |
access_token | 是 | 调用接口凭证 |
department_id | 是 | 获取的部门id |
如需获取该部门及其子部门的所有成员,需先获取该部门下的子部门,然后再获取子部门下的部门成员,逐层递归获取。
3、获取部门成员详情
**请求方式:**GET(HTTPS)
**请求地址:**https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID
参数说明:
参数 | 必须 | 说明 |
access_token | 是 | 调用接口凭证 |
department_id | 是 | 获取的部门id |
如需获取该部门及其子部门的所有成员,需先获取该部门下的子部门,然后再获取子部门下的部门成员,逐层递归获取。、