获取钉钉打卡详情准备工作:https://open.dingtalk.com/document/orgapp/attendance-scenario-access-example
按照上面文档,将步骤一完成即可
获取钉钉打卡详情
获取打卡详情一般分为三步即需建立三个接口,1.获取access_token 2.获取用户信息 3.获取打卡详情 注意:在获取用户信息时需要知道部门ID 一般我们需要查询所有人员打开情况,用的都是根部门id默认为1,注意钉钉建立的应用需要给予全部用户权限,否则可能获取不到用户信息
1) 建立获取access_token
根据文档给到的参数说明,这里我们需要建立3个接口通讯,首先是获取access_token,调用接口凭证;
地址:https://open.dingtalk.com/document/orgapp/obtain-orgapp-token
建立好接口以后我们建立模板字段,测试是否能获取access_token:
建立公式获取access_token
建立按钮【获取】先绑定该公式测试是否能获取access_token,右击选择【其他】-【插入报表按钮】
测试填报
2) 建立获取部门用户信息
获取access_token后,接下来便可以利用access_token获取部门信息了
获取用户信息文档地址:https://open.dingtalk.com/document/orgapp/queries-the-simple-information-of-a-department-user
建立接口
选中建立好的接口通讯,点击【新建】,接口方法、请求类型以及传入、传出参数、表结构在文档中都已明确给到。
点击【保存】
接口建立好以后,进入模板建立相应字段,本案例未建立返回码与返回码描述字段,如需要可自行建立
建立公式获取用户信息到result
将公式绑定到按钮进行测试
测试填报
这里的到用户信息,但是是json样式,需将JSON解析到我们建立的明细表中,建立明细表
按钮添加命令解析JSON
再次测试填报
3) 建立获取打卡详情
获取用户信息后,便可根据用户信息获取打卡详情了,首先建立接口
文档地址:https://open.dingtalk.com/document/orgapp/attendance-clock-in-record-is-open
选中建立好的接口通讯,点击【新建】,传入、传出参数以及表结构参照文档填写;
点击【保存】,获取打卡详情及方法就建立完毕了。
模板创建相应字段
接下来建立表间公式获取打卡情况
按钮绑定公式,注意由于打卡详情用户信息传入的格式是有要求的,所以需要在传入之前进行处理,这里用生成json将用户信息生成所需要的格式存到用户json字段
到这里获取打卡详情就完成了,接下来只需要将数据解析到我们的明细表中即可
解析数据完成后会发现钉钉上的数据不符合我们想要查询的数据,这里需要将数据进行进一步的处理,例如时间戳,打开类型,打卡情况等,这里做表间公式和excel公式进行转换
时间戳转换时间格式网址:https://www.jianshu.com/p/87b8b17a6b11
另外这里想要每次查询时用户和考勤数据不重复提取,以及将接口提取的数据转换为我们想要看的数据,这里做了另外的公式进行处理,同时打卡详情获取的只有用户ID,为了方便查看需要做公式提取用户姓名。
最后整体完善按钮如下:
执行效果展示如下:
最后编辑:harry 更新时间:2024-02-23 17:06