参考文档:
自定义机器人接入 - 钉钉开放平台https://open.dingtalk.com/document/orgapp/custom-robot-access
1、群聊添加群聊机器人(此处以加签方式推送消息)
此处如若设置自定义关键词,则发送文本内容中必须包含该关键词否则推送无效,并且后续无需传sign×tamp参数(测试环节有详细说明)
2、保存推送信息以备用
3、请求参数初始化
public static void main(String[] args) throws Exception{
Long timestamp = System.currentTimeMillis()+50*60*1000;//保证时间误差不超过1小时
System.out.println("timestamp:"+timestamp);
String secret = "加签字符串粘贴到此处";
String stringToSign = timestamp + "\n" + secret;
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"));
byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8"));
String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)),"UTF-8");
System.out.println("sign:"+sign);
}
运行结果如下所示:
4、复制出机器人的Webhook地址,拼接请求参数,尝试发送群消息
5、消息推送API使用说明
重要
已默认开通使用自定义机器人发消息的权限,无需申请。即向Webhook地址发请求时,无需申请权限。
发起POST请求时,必须将字符集编码设置成UTF-8。
每个机器人每分钟最多发送20条。消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景 (譬如系统监控报警) 可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。
接口调用量说明钉钉标准版接口累计可调用次数为1万次/月,当前接口会消耗调用次数。若该调用量无法满足需求,你可升级钉钉专业版(Open API调用量50万次/月)或钉钉专属版(Open API调用量500万次/月)扩容调用次数。
具体参数说明参考:自定义机器人在群聊场景中的使用 - 钉钉开放平台