如何在VSCode中通过Node环境发送钉钉机器人群消息

冬芳小哥_1667

冬芳小哥_1667

2026-07-13

659人浏览

原创

axios发钉钉请求被拒因未满足content-type、json序列化、加签等要求:必须显式json.stringify()、带timestamp/sign(hmac-sha256生成)、正确webhook url及群配置校验。

如何在vscode中通过node环境发送钉钉机器人群消息

为什么 axios 发请求总被钉钉拒绝?

直接用 axios.post() 调钉钉机器人 Webhook 地址,大概率返回 400 Bad Request 或 403 Forbidden —— 不是因为 URL 写错,而是钉钉要求必须带 Content-Type: application/json 且 payload 必须是合法 JSON 字符串(不能是 JS 对象),同时签名验证未通过时也会拒收。

  • 确保 Webhook URL 末尾带 access_token=xxx,且未过期(有效期默认 7 天)
  • 若启用了「自定义关键词」或「加签」,必须在请求体中包含 timestamp 和 sign 字段,否则直接 403
  • axios 默认不自动序列化对象,要显式用 JSON.stringify() 包裹 data
  • 别用 fetch 直接发对象,Node 的 fetch(如 node-fetch)同样需要手动 JSON.stringify

加签模式下怎么生成 sign?

钉钉加签要求用 HMAC-SHA256 算法,把 timestamp\nsecret 作为密钥,对 timestamp 字符串做哈希,再 Base64 编码。Node 自带 crypto 模块就能搞定,不用额外装包。

Rydberg Agent Node
Rydberg Agent Node

使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r

下载
  • 先取当前毫秒时间戳:const timestamp = Date.now().toString()
  • 拼接待签名字符串:const stringToSign = timestamp + '\n' + 'your_secret_here'
  • 计算签名:const sign = crypto.createHmac('sha256', stringToSign).update(timestamp).digest('base64')
  • 最终请求体必须含 timestamp 和 sign 字段,缺一不可

VSCode 里调试时如何快速验证请求是否成功?

别等写完逻辑再跑整个服务,直接建个 send-dingtalk.js 文件,在 VSCode 终端里 node send-dingtalk.js 执行,配合断点和 console.log 观察响应。

  • 响应状态码不是 200?先检查 Webhook URL 是否复制完整(尤其注意有没有多出空格或换行)
  • 响应体含 "errcode": 310000 表示加签失败,核对 timestamp 和 sign 是否匹配、secret 是否抄错
  • 响应体含 "errcode": 0 但群里没收到消息?确认机器人是否被禁言、关键词是否触发、消息类型(text/markdown)是否符合群设置
  • VSCode 调试时建议加 try/catch,捕获 axios 的 error.response?.data,比只看 error.message 有用得多

发送 Markdown 消息要注意什么?

钉钉 Markdown 渲染很严格:标题必须顶格、列表缩进必须是 2 空格、代码块需用三个反引号且单独成行。发错格式不会报错,但内容全变成纯文本。

  • 避免在 content 字段里混用 HTML 标签(钉钉不支持)
  • title 字段仅对 markdown 类型生效,且不能含换行;text 类型的 title 会被忽略
  • 链接必须用 [文字](url) 格式,<a href="...>%20%E6%97%A0%E6%95%88
  • %0A
  • %E8%B0%83%E8%AF%95%E6%97%B6%E5%85%88%E5%8F%91%E6%9C%80%E7%AE%80%20text%20%E6%B6%88%E6%81%AF%E7%A1%AE%E8%AE%A4%E9%80%9A%E8%B7%AF%EF%BC%8C%E5%86%8D%E9%80%90%E6%AD%A5%E5%8A%A0%20Markdown%20%E6%A0%B7%E5%BC%8F
  • %0A
%0A%0A%E9%92%89%E9%92%89%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%9A%84%E5%AE%9E%E9%99%85%E8%A1%8C%E4%B8%BA%E4%BE%9D%E8%B5%96%E7%BE%A4%E9%85%8D%E7%BD%AE%E7%BB%86%E8%8A%82%EF%BC%88%E6%AF%94%E5%A6%82%E6%98%AF%E5%90%A6%E5%BC%80%E5%90%AF%E3%80%8C@%E6%89%80%E6%9C%89%E4%BA%BA%E3%80%8D%E6%9D%83%E9%99%90%E3%80%81%E5%85%B3%E9%94%AE%E8%AF%8D%E8%BF%87%E6%BB%A4%E8%A7%84%E5%88%99%EF%BC%89%EF%BC%8C%E8%BF%99%E4%BA%9B%E6%B2%A1%E6%B3%95%E9%9D%A0%E4%BB%A3%E7%A0%81%E7%BB%95%E8%BF%87%EF%BC%8C%E5%BE%97%E5%8E%BB%E9%92%89%E9%92%89%E7%BE%A4%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%E9%80%90%E9%A1%B9%E6%A0%B8%E5%AF%B9%E3%80%82

%0A">

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode node 钉钉 axios

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1255

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2632

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1889

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1707

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2587

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1798

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1242

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

454

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程