在数字化转型的大潮中,企业面临着日益多样化和复杂的数据需求。目前,Quick BI已支持广泛的数据库类型数据源和应用数据源连接,但仍有一些特定的数据源尚不支持直接接入。为此,Quick BI推出了API数据源功能——这一功能提供了一种灵活高效的数据接入方案,使企业能够轻松接入各种类型的数据,包括实时天气数据、电商平台的交易和用户行为数据,以及企业内部业务系统的数据。通过引入API数据源,不仅极大地丰富了可分析数据的范围,还进一步加深了数据分析的层次,从而更有效地满足企业的具体业务需求。
01 能力项
Quick BI的API数据源功能不仅提供了灵活连接方式和强大的数据解析能力,还满足不同业务系统多元的授权要求
1. 灵活的连接方式
● 抽取模式:适用于大规模数据分析场景,支持定期数据同步,减少API调用频率,优化数据获取成本。
● 直连模式:适用于对数据实时性要求高的场景,支持实时查询,确保数据的及时性。通过短效缓存机制,既能减少API调用频率,又能保证数据的实时性。
2. 多元的授权机制
为确保数据访问的安全性,API数据源支持多种授权方式:
● 标准认证方式:支持基础认证、摘要认证多种认证方式
● 前置请求机制:支持通过前置请求获取token,实现动态授权认证
3. 自动化数据解析
在解析API返回的数据时,Quick BI支持自动化解析,无需用户手动填写复杂的JSONPath表达式。系统会自动识别并解析API返回的字段,用户只需选择需要的字段即可完成配置。这一功能大幅降低了操作门槛,提升了配置效率。
02 最佳实践:动态Token获取
下面以接入获取钉钉用户考勤数据为例,介绍Quick BI如何借助API数据源的能力接入钉钉考勤数据,实现用户考勤分析和管理决策。整个过程分为三个步骤:
● 建立API连接
● 解析请求结果
● 数据同步设置
钉钉用户考勤数据接口说明
该接口的业务意义在于获取用户的考勤数据,包括打卡流水记录、打卡结果和审批列表等。需要注意的是,在调用钉钉开放平台的考勤数据接口时,钉钉侧需要通过access_token来鉴权调用者身份进行授权。由于access_token的有效期为2小时,过期后需重新调用get_token接口获取新的access_token。
请求示例(HTTP)
1
POST https://oapi.dingtalk.com/topapi/attendance/getupdatedata?access_token=ACCESS_TOKEN
为了支持该类场景,Quick BI在新版本中发布了API数据源的“前置请求”能力。在调用主API之前,优先执行添加的“前置请求”,将该请求的响应结果存储为动态参数,传递至主API的参数中,以确保调用主API时始终使用有效的access_token,减少因token过期导致的调用失败,提高用户体验。
步骤一:建立API连接
在建立API连接环节中,按以下步骤配置信息。
1、配置数据源基础连接信息,包含接口地址、请求类型等
2、配置连接方式,为了确保数据的完整性和准确性,结合考勤数据的更新频率,这里选择抽取模式,以定期获取考勤数据。
3、添加前置请求,access_token是调用钉钉API的必要凭证,用于验证调用者的身份和权限。在获取到有效的access_token后,将其注入在主API接口的请求地址,才能顺利调用主API接口获取考勤数据。在本例中,可将获取access_token的步骤配置在前置请求中,使其在主API调用之前自动执行。具体配置步骤如下:
a.点击前置请求页签下的添加前置请求操作。
b.在添加前置请求页面中,填写相应鉴权接口的配置信息,包含连接名称、接口地址、请求类型、参数设置等。
c.点击连接测试,即可查看请求的返回信息,Quick BI将为您自动解析请求结果中包含的字段。本例中需将请求结果中的access_token作为动态参数注入至主API的参数中,因此可创建一名称为access_token的动态参数。
4、配置Query参数。将前置请求中创建的动态参数access_token,引用至主API的普通参数中,可点击参数值输入框中的 图标,在唤起的变量面板中选择已添加的动态参数${access_token},完成后点击 图标保存配置。
5、配置Body参数。根据获取钉钉用户考勤数据接口要求编写请求体,示例如下:
步骤二:解析请求结果
在解析请求结果环节中,选中需要的字段并调整其字段类型,完成后点击下一步。
步骤三:数据同步设置
1、在数据同步设置环节中,设置本例API数据源的更新周期为手动更新。
2、点击完成,成功创建获取用户考勤数据API数据源。
03 结语
在数据构建的过程中,Quick BI的API数据源功能展现了强大的灵活性和适应性。本文通过接入钉钉用户考勤数据的案例,介绍了如何利用这一功能实现高效的数据接入与解析。此外,API数据源还提供了多样的内置变量(如时间、分页函数)、函数(如MD5加密函数)等,用户可以根据自身业务系统的 API 要求进行灵活配置,以满足不同的数据接入需求。
关于API数据源更多的介绍,点此前往>>
如有更多的需求或交流,欢迎通过瓴羊官网等渠道联系我们~