本文档示例由广州医软智能科技有限公司提供,在此特别鸣谢。
注:该示例为从企业自建应用中使用接口取数的步骤,如果只想要使用通讯录同步获取 userid 和 department 数据,可以参考:API取数-使用通讯录同步获取企业微信userid和部门
1. 概述
1.1 应用场景
公司内部使用企业微信,行政部门需要将公司所有在职人员的信息进行统计,以供其他企业业务系统作为基础信息使用。
需要将在职人员的姓名、部门、职位、userid、手机号、性别、邮箱,这些信息取数至指定数据库中。
1.2 接口信息
为了获取部门所有人员信息,可以使用 读取成员 接口,而该接口需要使用 userid 作为参数,因此需要使用 获取部门成员 接口,获取返回值 userid;
而使用 获取部门成员 接口,需要 department_id 参数,因此需要使用 获取部门列表 接口,返回部门 id 数值,如下图所示:
1.3 实现思路
步骤一:获取access_token:使用企业微信接口获取 access_token 作为后续的调用其他接口的登录凭证,并使用「参数赋值」节点将获取的 token 值作为参数传递给后续步骤接口使用。
步骤二:获取部门id:使用企业微信接口 获取部门列表 获取部门 id;并使用「参数赋值」节点将部门 id 作为参数传递给后续步骤「获取userid」接口使用。
步骤三:获取 userid 并落库:使用企业微信接口 获取部门成员 ,通过「循环容器」遍历步骤二中获取的所有「部门id」获取 userid,并将获得的 userid 数据落库至临时数据表中。
步骤四:将 userid 作为参数输出:使用「参数赋值」将步骤三中落库的 userid 数据取出并作为参数传递给后续步骤的「获取人员信息」接口使用。
步骤五:获取企业人员信息并落库:使用企业微信接口 读取成员,通过「循环容器」节点遍历步骤四种的所有「userid」获取企业人员信息,并将数据取至数据库。
用到的企业微信接口:获取access_token、获取部门列表、获取部门成员、读取成员
1.4 任务展示
2. 操作步骤
2.1 获取 access_token 并设置为参数
2.1.1 获取access_token
获取 access_token 是调用企业微信 API 接口的第一步,相当于创建了一个登录凭证,其它的业务 API 接口,都需要依赖于 access_token 来鉴权调用者身份。
使用参数赋值节点,在节点信息中修改名称为「获取token」,选择数据源类型为「API」,将企业微信接口 获取 access_token url 和参数写入对应位置,:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET,如下图所示:
注:其中corpid和corpsecret参数值获取方式可以参考接口文档中 获取应用接口凭证教程 。
点击「数据预览」即可看到获取的 access_token,如下图所示:
2.1.2 将 access_token 设置为参数
为了便于后续其他接口使用获取到的 token 值,因此将其设置为参数。
点击「输出参数」设置参数名为 token,将 access_token 设置为参数,如下图所示:
2.2 获取所有部门id并设置为参数
通过 获取部门列表 接口,获取所有的部门 id 并将部门 id 作为参数传递给「获取 userid」步骤中的api使用。
新增「参数赋值」节点,在节点信息中可以修改名称,选择数据源类型为「API」,将企业微信接口 获取部门列表 url 和参数写入对应位置:https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token=${token},并取出department 数组,如下图所示:
注:access_token 参数值使用 2.1 节输出的 token 参数。
点击「数据预览」,即可查看获取到的所有部门id、部门名称等数据,如下图所示
将获取到的所有部门id 作为参数输出,设置参数名为「id」,如下图所示:
2.3 获取所有 userid 并输出至数据库
由于获取所有 userid 数据接口 获取部门成员 需要使用参数 access_token 和 department_id,因此需要使用循环容器,将 2.2 节获取的部门id 遍历并给 获取部门成员 接口使用。
新建「循环容器」节点,选择遍历对象为「id」,并修改循环限制次数,如下图所示:
接下来即可使用 获取部门成员 接口取出所有 userid 数据。
由于接口返回的数据为 json 格式,为了便于取出数据后的数据解析,使用「数据转换」,拖入「API输入」并输入url和参数:https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=${token}&department_id=${id},其中 access_token 和 department_id 参数分别使用了 2.1 节和 2.2 节获取并输出的参数值,如下图所示:
点击「数据预览」即可看到取出的包含 userid 的部门成员数据,如下图所示:
使用「JSON解析」将获取的 JSON 格式数据解析,并选取 userid ,如下图所示:
将解析后的 userid 数据输出至指定的数据库,以供后续将 userid 作为参数使用接口取出企业人员信息,同时使用比对字段,在数据库中更新用户 userid 新增和修改数据,如下图所示:
输出的 userid 数据表如下图所示:
2.4 将 userid 作为参数输出
由于 读取成员 接口需要使用 userid 参数,因此我们将 2.3 节取出至数据库的 userid 设置为参数,以便后续遍历该参数取出所有成员信息。
新建「参数赋值」节点,取出 userid 数据,如下图所示:
将其设置为参数,参数名 userid,如下图所示:
2.5 获取所有人员信息
使用 读取成员 接口,在循环容器中遍历 userid ,依次取出所有的人员信息。
新建「循环容器」节点,设置循环次数,并选择遍历对象为上一步创建的参数「userid」,如下图所示:
由于 读取成员 接口返回值为 JSON 格式,因此使用「数据转换」节点,便于接口取数后对人员信息数据进行解析。
将「数据转换」节点拖入循环容器中,新建「API 输入」,输入读取成员接口 URL 和参数:https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=${token}&userid=${userid},如下图所示:
新增 JSON 解析,将取出的 JSON 格式人员信息解析并选择需要的字段,如下图所示:
然后使用「DB表输出」将取出的人员信息输出至指定数据库中,如下图所示:
2.6 效果查看
取出的所有企业人员信息如下图所示: