Java实现钉钉自定义群聊机器人

Java实现钉钉自定义群聊机器人_第1张图片

参考文档:

自定义机器人接入 - 钉钉开放平台Java实现钉钉自定义群聊机器人_第2张图片https://open.dingtalk.com/document/orgapp/custom-robot-access

自定义机器人安全设置 - 钉钉开放平台目前有3种安全设置方式,请根据需要选择一种。Java实现钉钉自定义群聊机器人_第3张图片https://open.dingtalk.com/document/robots/customize-robot-security-settings

        1、群聊添加群聊机器人(此处以加签方式推送消息)

                

Java实现钉钉自定义群聊机器人_第4张图片

        此处如若设置自定义关键词,则发送文本内容中必须包含该关键词否则推送无效,并且后续无需传sign×tamp参数(测试环节有详细说明)

Java实现钉钉自定义群聊机器人_第5张图片

2、保存推送信息以备用

Java实现钉钉自定义群聊机器人_第6张图片

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);
    }

运行结果如下所示:

Java实现钉钉自定义群聊机器人_第7张图片

 4、复制出机器人的Webhook地址,拼接请求参数,尝试发送群消息

Java实现钉钉自定义群聊机器人_第8张图片

Java实现钉钉自定义群聊机器人_第9张图片

Java实现钉钉自定义群聊机器人_第10张图片

 5、消息推送API使用说明

重要

  • 已默认开通使用自定义机器人发消息的权限,无需申请。即向Webhook地址发请求时,无需申请权限。

  • 发起POST请求时,必须将字符集编码设置成UTF-8。

  • 每个机器人每分钟最多发送20条。消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景 (譬如系统监控报警) 可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。

  • 接口调用量说明钉钉标准版接口累计可调用次数为1万次/月,当前接口会消耗调用次数。若该调用量无法满足需求,你可升级钉钉专业版(Open API调用量50万次/月)或钉钉专属版(Open API调用量500万次/月)扩容调用次数。

 具体参数说明参考:自定义机器人在群聊场景中的使用 - 钉钉开放平台

你可能感兴趣的:(钉钉,java)