1. 概述
FDL 提供两个功能进行接口取数,区别如下:
功能 | 说明 |
---|---|
「数据同步-API」功能 | 若接口返回值为较简单的 JSON 格式,不需要复杂的解析处理,可参考本文进行接口取数 |
API输入 算子 | 若用户希望取出 API 数据后做进一步的数据处理,此时,「数据同步-API」功能不能满足需求。需要使用 API输入 算子接口取数后,再继续使用其他算子对接口数据进行处理 |
本文介绍这两个功能在实际场景中如何使用。
注:若 API 取数时用到了参数,需注意:「参数赋值」节点、「参数输出」算子中,设置参数时若开启了「闭包符」,则参数值默认加上单引号, API 取数时引用参数若再加上单引号或双引号,可能会导致取数失败;所以,是否开启「闭包符」请根据实际情况衡量。
2. 简单接口取数
2.1 接口取数后保存到XX
2.1.1 场景说明
接口取数后经过简单解析就得到想要的数据。
2.1.2 使用方法
使用方式一:
使用 「数据同步-API」功能 ,得到想要数据
如下图所示:
使用方式二:
使用 API输入 算子读取接口数据,再使用 JSON解析 OR XML解析 算子进行解析,可继续使用其他数据处理算子对数据进行处理,最后将数据输出。
2.1.3 示例参考
2.2 接口取数后输出为参数
2.2.1 应用场景
调用接口 A 输出参数,供后续节点/算子使用。
2.2.2 使用说明
参数赋值 节点、参数输出 算子、全局参数-赋值参数 都支持将 API 数据输出为参数,支持获取API响应的响应头header、响应体body、状态码。
详细说明请参见:与参数功能配合使用说明
2.2.3 示例说明
希望调用 获取部门列表 接口,获取所有部门 id。但 获取部门列表 接口调用时需要使用 access_token 参数,access_token 参数需要调用 获取access_token 接口获得。
所以,需要先调用 获取access_token 接口,获取 access_token 并输出为参数供 获取部门列表 接口使用。
完整示例:API取数-获取企业微信人员信息 文档的第一章到 2.2 节内容。
3. 分页取数
3.1 场景说明
API 接口中,包含分页相关参数(数据页数、每一页数据条数、分页参数等)、限制一次只能取 XX 数据,可尝试使用分页取数方案。如下图所示:
3.2 使用说明
注:分页取数时,若某页没有数据,取出数据为空可能会任务报错。
方式一:
FDL 提供分页取数功能,详情请参见:API输入-分页取数
方式二:
需要与「循环容器」节点配合使用,建议用户先了解「循环容器」节点的使用,再参考分页取数示例学习。
3.3 示例
详情请参见:API取数概述
嵌套循环取数可参见:嵌套循环取数
4. 循环读取接口数据:非分页取数
4.1 应用场景
用户需要从 API 接口取数, 但 API 接口中参数每次只能读取一个参数值。所以需要将待调用接口用到的参数值取出并作为参数输出,使用「循环容器」节点,遍历所有参数从 API 接口取数。
注:用户根据实际场景,设置循环方式为「遍历循环」 OR 「条件循环」,详情请参见 循环容器逻辑说明
4.2 使用说明
参数功能+API接口取数功能+循环容器配合使用。
示例如下:
需要调用 获取部门成员 接口获取 userid 数据,而调用该接口需要用到参数 access_token 和 department_id,获取部门成员 接口每次只能读取一个参数:
1)调用 获取 access_token 接口获取 access_token 并作为参数输出(参数值为动态)
2)调用 获取部门列表 接口,获取所有的 department_id 并将 department_id 作为参数输出(多个参数)
3)使用「循环容器」节点,access_token 参数、department_id 参数传递给「循环容器」节点,「循环容器」节点内遍历所有参数进行接口取数
示例详情请参见:API取数-获取企业微信人员信息 文档的第一章到 2.3 节内容