上一页

获取钉钉打卡详情准备工作: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  创建时间:2023-12-26 09:04
最后编辑:harry  更新时间:2024-02-23 17:06