87 lines
2.7 KiB
Markdown
87 lines
2.7 KiB
Markdown
# 钉钉工作日志查询
|
||
|
||
查询钉钉工作日志(周报/日报等)。
|
||
|
||
## 接口信息
|
||
|
||
- **接口地址**: `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 字符,超长部分会被截断,无法通过此接口获取完整内容
|