Files

87 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 钉钉工作日志查询
查询钉钉工作日志(周报/日报等)。
## 接口信息
- **接口地址**: `POST https://oapi.dingtalk.com/topapi/report/list`
- **认证方式**: access_token基于企业内部应用
- **时间单位**: ⚠️ **毫秒**(不是秒!)
## 前置条件
1. 获取 access_token
```bash
curl -s -X POST 'https://api.dingtalk.com/v1.0/oauth2/accessToken' \
-H 'Content-Type: application/json' \
-d '{
"appKey": "dingklemniq8uqk5qbgx",
"appSecret": "_8EHgyhvHRHRMx6fZbh9LNpQoxyYl3At0b-fXXlQiahwupbt9oY5P6Grj8IM9Dx8"
}'
```
2. 凭证存储在 `TOOLS.md`
- AgentId: 4404185308
- Client ID (AppKey): dingklemniq8uqk5qbgx
- Client Secret (AppSecret): _8EHgyhvHRHRMx6fZbh9LNpQoxyYl3At0b-fXXlQiahwupbt9oY5P6Grj8IM9Dx8
## 调用示例
```bash
# 查询指定用户的日志(时间单位:毫秒)
curl -s 'https://oapi.dingtalk.com/topapi/report/list?access_token={TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"userid": "121922510028034588",
"offset": 0,
"size": 10,
"start_time": 1738329600000,
"end_time": 1743292800000,
"cursor": 0
}'
```
## 参数说明
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| userid | string | ✅ | 用户的钉钉 userid |
| start_time | number | ✅ | 开始时间,**毫秒**时间戳 |
| end_time | number | ✅ | 结束时间,**毫秒**时间戳 |
| cursor | number | ✅ | 分页游标(首次查询传 0 |
| size | number | ✅ | 每页数量(建议 10 |
| offset | number | ❌ | 偏移量(兼容旧版,可不传) |
## 返回字段说明
日志内容在 `result.data_list` 数组中,每个元素的 `contents` 数组包含各字段:
| contents.key | 说明 |
|-------------|------|
| 本周完成工作 / 本日完成工作 | 完成事项 |
| 本周工作总结 / 本日工作总结 | 详细总结 |
| 下周工作计划 / 下日工作计划 | 后续计划 |
| 需协调与帮助 | 协调事项 |
| 图片 | 图片列表 |
| 附件 | 附件列表 |
其他字段:
- `report_id`: 日志ID
- `template_name`: 日志模板名称(如"经理人周报"
- `creator_name`: 创建人姓名
- `dept_name`: 部门名称
- `create_time`: 创建时间(毫秒)
## 分页查询
通过 `cursor` 分页:
1. 首次查询 `cursor: 0`
2. 返回 `next_cursor` 作为下次查询的游标
3. `has_more: false` 表示最后一页
## 注意事项
1. ⚠️ **时间单位必须是毫秒**:如 `1743292800000`(不能用 `1743292800`
2. ⚠️ **字段名是 `userid`(全小写)**,不是 `userId`
3. ⚠️ **API 截断限制**:日志内容单字段最多返回约 1000 字符,超长部分会被截断,无法通过此接口获取完整内容