使用Node.js向钉钉群发送消息的方法

自己的开发环境配置:

硬件:win10 i7-1170k 32g内存 3060显卡

软件:node.js v17.1.0 

使用前请确保已安装和配置如下环境

  1. 有一个钉钉机器人,且设置了关键字
  2. Node.js,自己使用的版本为v17.1.0
  3. 下载并安装钉钉机器人Nodejs版SDK,下载路径为:

服务端SDK下载 - 钉钉开放平台

3.若提示缺少request模块,请使用cmd命令,切换到.js文件的根目录下,并使用如下命令:

npm i request

创建一个javaScript文件,源码如下:

var request = require('request');//加载此模块失败请使用在本目录下使用nmp i request控制台命令

var crypto = require('crypto');

var sendData = "*****";//你自己定义的关键字
 
var secret = ""//签名,如果有的话
var url = "https://oapi.dingtalk.com/robot/send?access_token=*******"//钉钉机器人的链接,当你创建是便会看到
var data = {
    "msgtype": "text", 
    "text": {
        "content": sendData//聊天内容,若群机器人设置了自定义关键字,则必须加上关键字
    }, 
    "at": {
        "atMobiles": [//要@的人的电话号码,可以有多个
            "187xxxxxxx"//可以为空
        ], 
        "isAtAll": false//是否@全体成员
    }
}
var time = Date.now();//当前时间
var stringToSign = time + "\n" + secret;
var base = crypto.createHmac('sha256', secret).update(stringToSign).digest('base64');
var sign = encodeURIComponent(base)//签名
url = url+`&timestamp=${time}&sign=${sign}`;
console.log(url)

request.post(//发送post
    url,
    { 
        json: data,
        encoding:"utf-8",
        headers:{
            'Content-Type': 'application/json'  
        }
    },
    function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)//成功返回
        }
    }
);

测试方法:

        使用cmd命令切换到js文件的目录后,使用如下命令运行该程序

node xx.js

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值