dingtalk-log

v1.0.0

通过钉钉topapi/report/list接口按时间、模板名或员工ID分页查询企业员工日志列表,含日志详情和创建信息。

0· 256·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
技能名称与描述明确为“调用钉钉 topapi/report/list 获取日志”,SKILL.md 的所有内容都与这一目的直接相关。没有请求与该目的无关的外部服务、二进制或安装包。
Instruction Scope
指令仅描述:获取 access_token(需 appKey/appSecret)、构造查询 body、调用 oapi.dingtalk.com/topapi/report/list、处理分页与错误。没有要求读取本地文件、系统配置或其它不相干的环境信息。
Install Mechanism
无安装说明、无代码文件、仅为运行时调用流程说明——这降低了磁盘写入或执行远程代码的风险。
Credentials
文档明确需要应用凭证(appKey/appSecret)和由其换取的 access_token;这些都是敏感凭据且与功能直接相关。注册元数据中未列出任何 required env vars/primary credential ——这是信息不完全但并不必然恶意;建议在安装/使用前确认凭据的提供方式和存储位置。
Persistence & Privilege
技能为 instruction-only,registry 标记为 always:false,且无安装脚本或持久化行为描述,未请求对其他技能或系统配置的修改。
Assessment
这项技能本身只是一个调用钉钉接口的使用说明: - 在使用前准备好企业应用的 appKey 与 appSecret,并确认该应用已被授予“查询企业员工日志”的权限; - 将 appKey/appSecret 和任何产生的 access_token 视为敏感凭据,避免在不受信任的位置粘贴或上传;使用安全的秘钥管理/环境变量注入方式; - 注意隐私与合规性:该接口返回企业/员工日志数据,确保有权访问这些数据并遵守公司/法律的审计与保留要求; - 验证调用的域名和路径(文档中使用的 oapi.dingtalk.com 与 api.dingtalk.com 看起来与钉钉开放平台一致),避免把凭据发向不明第三方; - 如果你希望技能在平台中更安全地运行,建议发布者在 registry 元数据中显式声明需要的凭据(例如 PRIMARY_ENV 为 DINGTALK_APPKEY/DINGTALK_APPSECRET 或类似变量),以便安装时有明确的权限提示。

Like a lobster shell, security has layers — review code before you run it.

latestvk97b28k4zny9zj5vhzm9qve7c582cnw1
256downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

调用钉钉日志列表接口技能说明

技能名称

调用钉钉topapi/report/list接口获取用户日志列表

技能描述

该技能用于调用钉钉开放平台的topapi/report/list接口,获取企业/员工的日志列表(含日志创建人、创建时间、模板名称等),支持按模板名称、员工ID、时间范围等条件筛选查询。

前置条件

  1. 应用权限:仅支持企业内部应用/第三方企业应用调用,需提前为应用申请「查询企业员工日志权限」;第三方个人应用不支持。
  2. AccessToken准备:调用接口前必须先获取对应应用的access_token:
    • 接口地址:https://api.dingtalk.com/v1.0/oauth2/accessToken
    • 请求方式:POST
    • 请求体参数:
      名称类型必填说明
      appKeyString企业内部应用的Cilent ID
      appSecretString企业内部应用的Cilent Secret
    • AccessToken规则:有效期7200秒(2小时),需缓存避免频繁调用;重复获取会续期,过期返回新值。

接口核心信息

1. 基础调用信息

  • 请求方式:POST
  • 请求地址:https://oapi.dingtalk.com/topapi/report/list
  • 字符编码:UTF-8

2. 请求参数

(1)Query参数(URL拼接)

名称类型必填示例值描述
access_tokenString6d1bxxxx应用凭证(从前置步骤获取)

(2)Body参数(JSON格式)

名称类型必填示例值描述
start_timeNumber1507564800000日志创建开始时间(Unix毫秒级时间戳)
end_timeNumber1507564800000日志创建结束时间(Unix毫秒级时间戳);与start_time间隔≤180天
template_nameString周报日志模板名称(传值则筛选该模板的日志)
useridStringuser123员工userId(传值则筛选该员工的日志)
cursorNumber0查询游标(初始传0,后续从返回值取next_cursor)
sizeNumber10每页数据量(最大值20)
modified_start_timeNumber1507564800000日志修改开始时间(Unix毫秒级时间戳)
modified_end_timeNumber1507564800000日志修改结束时间(Unix毫秒级时间戳)

3. 参数传递规则(核心)

  • 查指定模板+时间段日志:传template_nameuserId为空;
  • 查指定员工+时间段日志:传userIdtemplate_name为空;
  • 查企业所有日志:template_nameuserId均为空;
  • 分页查询:首次cursor=0,若返回has_more=true,则用next_cursor作为新游标继续调用。

返回结果解析

1. 返回参数结构

名称类型说明
errcodeNumber返回码(0=成功)
errmsgString返回描述(ok=成功)
resultPageVo核心结果集
request_idString请求ID(用于排查问题)

result子参数

名称类型说明
data_listReportOapiVo[]日志列表(核心数据)
sizeNumber实际返回数据量
next_cursorNumber下一页游标
has_moreBoolean是否有下一页(true=有)

data_list子参数(单条日志)

名称类型说明
create_timeNumber日志创建时间(毫秒时间戳)
creator_idString日志创建人userId
creator_nameString日志创建人姓名
template_nameString日志模板名称
contentsArray日志具体内容(key-value)
report_idString日志唯一ID

2. 返回示例

{
    "errcode": 0,
    "errmsg":"ok",
    "result": {
        "data_list": [
            {
                "contents": [
                    {
                        "key": "今日完成工作",
                        "sort": "0",
                        "type": "1",
                        "value": "今天已经完成的工作"
                    }
                ],
                "create_time": 1605680704000,
                "creator_id": "user123",
                "creator_name": "测试同学",
                "template_name": "日报"
            }
        ],
        "has_more": false,
        "next_cursor": 2862455276,
        "size": 10
    },
    "request_id": "5c8q6ic6wyah"
}

调用步骤(标准化流程)

  1. 调用/v1.0/oauth2/accessToken获取access_token,缓存该值(避免重复调用);
  2. 构造日志查询的Body参数(必填:start_time、end_time、cursor、size;可选:template_name、userId等);
  3. 发送POST请求到https://oapi.dingtalk.com/topapi/report/list?access_token=xxx,传入Body参数;
  4. 解析返回结果:
    • errcode=0,提取result.data_list获取日志数据;
    • has_more=true,用next_cursor作为新游标重复步骤3,直到has_more=false
  5. 异常处理:若errcode≠0,根据errmsg排查权限/参数问题(如access_token过期、时间范围超限等)。

注意事项

  1. 时间参数:所有时间戳均为毫秒级Unix时间戳,start_time与end_time间隔不超过180天;
  2. 频率限制:禁止频繁调用gettoken接口,否则会被拦截;
  3. 权限校验:调用前务必确认应用已添加「查询企业员工日志权限」。

总结

  1. 调用核心:先获取access_token,再按条件(模板/员工/全量)传参调用日志列表接口,支持分页;
  2. 参数规则:start_time/end_time/cursor/size为必填,template_name和userId按需传值(均空则查全量);
  3. 关键限制:时间范围≤180天、每页size≤20、access_token需缓存且有效期2小时。

Comments

Loading comments...