我的第一个Markmap
2026/3/20 23:03:21
想调用接口,得先有个“身份”。
AppKey和AppSecret。待办任务写权限(todo.task:write)。这是最关键的一步。钉钉推待办只认unionId。我们分两步走:先在网页上看你的 UserID,再换成 UnionId。
所有接口都得带这个 Token。打开终端(CMD/Terminal),替换你的 Key 和 Secret:
curl "https://oapi.dingtalk.com/gettoken?appkey=你的AppKey&appsecret=你的AppSecret"复制结果里的
access_token,下一步要用。
不用调复杂接口,直接去管理员后台看。
011645...)。因为 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 }'见证奇迹:
回车敲下的瞬间,你的手机钉钉会弹出一条 “待办任务” 通知。点击它,会跳转到钉钉官网。