项目背景是一家普通科技公司,大概有五个部门,每个部门100人左右
首先进入钉钉开放平台 :open-dev.dingtalk.com
在企业内部开发中,选择小程序,新建一个小程序应用,这里其实也还有别的选择,比如h5微应用,主要是小程序兼容性更好一点。
填写应用的名称、简介、Logo等基本信息这些按下不表,按照要求填写即可,也不必非得填写真实信息,这里有个坑就是一定不要忘了配置安全域名或者ip,安全域名是当我们的检测平台上线的时候部署的域名,应用可以跟指定的域名进行网络通信,如果不配置的话,请求钉钉接口会报403错误。
另外还有一个坑,也就是钉钉默认开放的接口仅限于基础权限接口
如果需要考勤或者签到接口的话,还得单独点击申请,这就有点让人看不懂了,那么多接口,全都得靠用鼠标点击开通,不开通就用不了,这个用户体验真是让人非常酸爽,产品设计成这样,钉钉的pm难辞其咎。
OK,前置准备工作就已经就绪了,现在我们只要根据官方文档来写接口就可以了,选择服务端api文档: https://ding-doc.dingtalk.com/doc#/serverapi2/gh60vz
钉钉考勤打卡的接口说明是这样的:
这里每个接口都需要一个access_token用来鉴权,这个token是用id和秘钥通过接口交换回来的,具体在应用详情里可以获取
这里我们封装成方法
搞定了token,还需要获取您的部门下所有员工的员工id,因为考勤接口参数只能接受员工id,而非部门id
最后请求考勤接口即可
完整的后台Django后台接口
这样,就可以愉快的通过线上平台来实时监测部门员工考勤了,效果是这样的:
1、for循环不是这样用的,你这个是while。
2、请求多了一个html,没有html这个对象。
3、是get方法返回值,读的text属性,这个返回是str文本,不能用dict方式读取,要改成json()方法。
4、返回的结果,data键的值不是列表,不需要[0]下标