三步搭建“钉钉待办推送” (curl版)+工作通知

三步搭建"钉钉待办推送" (curl版)



第一部:搞定"通行证" (配置应用)

想调用接口,得先有个"身份"。

  1. 创建应用
    • 登录 钉钉开放平台 -> 应用开发 -> 企业内部开发
    • 创建钉钉新应用
  2. 拿钥匙 (Key & Secret)
    • "凭证与基础信息" 里,复制 AppKeyAppSecret
    • 这是你的账号密码,保存好。
  3. 开权限 (必做)
    • 左侧 "权限管理" ,搜索并申请:待办任务写权限 (todo.task:write)。
    • 没这个权限,接口会直接报错。
  4. 设范围 (巨坑预警)
    • 左侧 "版本管理与发布" -> "设置可见范围"
    • 一定要把"你自己"选进去!
    • 不选的话,应用就是"瞎子",查不到你的信息。

第二部:锁定"目标人物" (获取 UnionId)

这是最关键的一步。钉钉推待办只认 unionId。我们分两步走:先在网页上看你的 UserID,再换成 UnionId。

1. 拿到 AccessToken (临时令牌)

所有接口都得带这个 Token。打开终端(CMD/Terminal),替换你的 Key 和 Secret:

复制代码
curl "https://oapi.dingtalk.com/gettoken?appkey=你的AppKey&appsecret=你的AppSecret"

复制结果里的 access_token,下一步要用。

2. 找到你的 UserID (直观方案)

不用调复杂接口,直接去管理员后台看。

  • 地址https://oa.dingtalk.com/contacts.htm#/contacts
  • 操作 :在通讯录里点击你的名字,在右侧弹出的详情页里,找到 UserID(通常在"员工UserID"这一栏,或者看浏览器地址栏最后一段)。
  • 记下这个 UserID(例如 011645...)。

3. 用 UserID 换 UnionId (关键转换)

因为 UserID 不能直接发待办,我们需要用它换取 UnionId。运行下面命令:

复制代码
curl --location --request POST 'https://oapi.dingtalk.com/topapi/v2/user/get?access_token=刚才拿到的Token' \
--header 'Content-Type: application/json' \
--data-raw '{
    "userid": "刚才后台看到的UserID"
}'

返回结果:找到 result 里的 unionid (例如 ZYR7...)。

这就是你的终极"身份证",记下来!
(备选方案:如果你进不去管理员后台,也可以用 v1.0/contact/users/getByMobile 接口通过手机号反查,这里不展开。)


第三部:发射!(推送待办)

万事俱备,直接通过命令行发起待办任务。我们使用最新的 v1.0 接口。

修改参数

  • YOUR_TOKEN: 第二部第1步拿到的 Token。
  • YOUR_UNION_ID: 第二部第3步拿到的 UnionId。

执行命令

复制代码
curl --location --request POST 'https://api.dingtalk.com/v1.0/todo/users/YOUR_UNION_ID/tasks' \
--header 'x-acs-dingtalk-access-token: YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
    "sourceId": "CURL_DEMO_001", 
    "subject": "【测试】这是一个Curl发出的待办",
    "description": "不用写代码,命令行直接把任务推送到手机。",
    "dueTime": 1735660800000,
    "executorIds": ["YOUR_UNION_ID"],
    "isOnlyShowExecutor": true,
    "detailUrl": {
        "appUrl": "https://www.dingtalk.com",
        "pcUrl": "https://www.dingtalk.com"
    },
    "priority": 20
}'

见证奇迹:

回车敲下的瞬间,你的手机钉钉会弹出一条 "待办任务" 通知。点击它,会跳转到钉钉官网。


晚上更新,工作通知推送

bash 复制代码
curl -X POST "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=8a9d0dce49****a960ca14d8dd8f25" \
-H 'Content-Type: application/json' \
-d '{
    "agent_id": 413638***8,
    "userid_list": "011*****101231766",
    "msg": {
        "msgtype": "text",
        "text": {
            "content": "【工作通知】\n你好***,接口调试成功!\n这是来自curl的测试消息666。"
        }
    }
}'

注意点,两次同样的内容会被拦截

相关推荐
2401_841495641 天前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
Hardworking6661 天前
第7章 软硬件系统集成
数据库·软硬件系统集成
名字还没想好☜1 天前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
熊猫钓鱼>_>1 天前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
wenb1n1 天前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
Ethan01071 天前
redis 热key问题如何解决+场景
redis
段一凡-华北理工大学1 天前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
ClouGence1 天前
CloudDM 数据库管理平台,全新 UI,更清晰、更高效!
数据库·开源
z12345677791 天前
2026年企业AI办公工具深度评测:钉钉悟空平替横向选型指南
人工智能·钉钉
Devin~Y1 天前
互联网大厂Java面试实战:Spring Boot、MyBatis、Redis、Kafka、JWT、Spring Cloud 与 AI 场景追问
java·spring boot·redis·spring cloud·kafka·mybatis·spring security