钉钉考勤记录接口的获取与调用
钉钉作为一款企业级的办公软件,提供了丰富的API接口供开发者使用,考勤记录接口是钉钉提供的一个重要功能,可以帮助企业更好地管理员工的考勤情况,本文将详细介绍如何获取和调用钉钉的考勤记录接口。
获取考勤记录接口
钉钉的考勤记录接口主要有两个:
1、获取员工考勤记录:这个接口可以获取指定日期范围内的员工考勤记录。
2、获取部门考勤统计:这个接口可以获取指定日期范围内的部门考勤统计信息。
1.1 获取员工考勤记录
要获取员工考勤记录,需要使用钉钉提供的getAttendanceRecords
接口,该接口的请求参数如下:
参数名 | 类型 | 是否必填 | 描述 |
start_time | String | 是 | 查询开始时间,格式为”YYYYMMDD HH:mm:ss” |
end_time | String | 是 | 查询结束时间,格式为”YYYYMMDD HH:mm:ss” |
employee_id | String | 是 | 员工ID |
work_type | Integer | 否 | 工作类型,可选值为1(上班打卡)、2(下班打卡)、3(外出打卡)等 |
checkin_type | Integer | 否 | 签到类型,可选值为1(人脸识别)、2(指纹识别)、3(手机打卡)等 |
offset | Integer | 否 | 偏移量,用于分页查询,默认值为0,每页返回10条数据 |
limit | Integer | 否 | 每页返回的数据条数,默认值为10,最大值为100 |
1.2 获取部门考勤统计
要获取部门考勤统计,需要使用钉钉提供的getDepartmentAttendanceStatistic
接口,该接口的请求参数如下:
参数名 | 类型 | 是否必填 | 描述 |
start_time | String | 是 | 查询开始时间,格式为”YYYYMMDD HH:mm:ss” |
end_time | String | 是 | 查询结束时间,格式为”YYYYMMDD HH:mm:ss” |
department_id | String | 是 | 部门ID |
checkin_type | Integer | 否 | 签到类型,可选值为1(人脸识别)、2(指纹识别)、3(手机打卡)等 |
offset | Integer | 否 | 偏移量,用于分页查询,默认值为0,每页返回10条数据 |
limit | Integer | 否 | 每页返回的数据条数,默认值为10,最大值为100 |
调用考勤记录接口
要调用钉钉的考勤记录接口,首先需要获取钉钉的access_token,可以使用HTTP请求的方式发送请求到钉钉的服务器,以下是一个使用Python调用getAttendanceRecords
接口的示例:
import requests import json from datetime import datetime, timedelta 替换为你的钉钉应用的AppKey和AppSecret app_key = "your_app_key" app_secret = "your_app_secret" 替换为你的钉钉应用的AgentId和AgentSecret agent_id = "your_agent_id" agent_secret = "your_agent_secret" 替换为你要查询的员工ID和查询时间范围 employee_id = "your_employee_id" start_time = "20220101 00:00:00" end_time = "20220131 23:59:59" work_type = None checkin_type = None offset = None limit = None 根据AccessToken过期时间计算新的AccessToken def get_access_token(): url = f"https://oapi.dingtalk.com/gettoken?appkey={app_key}&appsecret={app_secret}" response = requests.get(url) data = json.loads(response.text) return data["access_token"] 根据员工ID和查询时间范围生成请求参数 def generate_request_params(employee_id, start_time, end_time, work_type, checkin_type, offset, limit): params = { "start_time": start_time, "end_time": end_time, "employee_id": employee_id, "work_type": work_type, "checkin_type": checkin_type, "offset": offset, "limit": limit, } return params 调用考勤记录接口并解析返回结果 def get_attendance_records(employee_id, start_time, end_time, work_type, checkin_type, offset, limit): access_token = get_access_token() params = generate_request_params(employee_id, start_time, end_time, work_type, checkin_type, offset, limit) url = f"https://oapi.dingtalk.com/attendance/listRecord?access_token={access_token}" + urllib.parse.urlencode(params) response = requests.get(url) data = json.loads(response.text) return data["records"] if data["errcode"] == 0 else None
注意事项
在使用钉钉考勤记录接口时,需要注意以下几点:
1、确保已经正确配置了钉钉应用的AppKey、AppSecret、AgentId和AgentSecret,这些信息可以在钉钉管理后台的应用设置中查看和修改。
2、确保请求的时间范围符合要求,查询开始时间和结束时间不能早于2017年1月1日,如果需要查询更早的数据,需要联系钉钉官方进行申请。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/577479.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复