Java 实现钉钉群消息推送

Java 实现钉钉群消息推送,第1张

Java 实现钉钉群消息推送

首先新建钉钉群,并新增机器人


官方建议三种安全设置方式必须选择一种:

我们这里选择加签,需要设置机器人:

相关代码如下:

	//密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串。
	String secret = "xxx";
	//Webhook地址中的access_token
    String token = "xxx";

	@Override
    public String context() {
        String value = "99";
        String context = String.format("xxxx日报rn" +
                        "rn" +
                        "当日营收%s万元。。此处内容省略",
                value
        );
        return context;
    }

    @Override
    public String messageGroup() throws Exception {
        //获取发送内容
        String context = this.context();
        //签名认证
        Long timestamp = System.currentTimeMillis();
        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");
        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/robot/send?access_token=" + token + "×tamp=" + timestamp + "&sign=" + sign);
        OapiRobotSendRequest request = new OapiRobotSendRequest();
		// 独立跳转ActionCard类型
        request.setMsgtype("actionCard");
        OapiRobotSendRequest.Actioncard actioncard = new OapiRobotSendRequest.Actioncard();
        actioncard.setTitle("xx项目");
        //图文
        actioncard.setText("![screenshot](https://xxxx.com/temp/banner%20%282%29.png)" + context);
        actioncard.setSingleTitle("查看详情");
        //设置跳转地址
        actioncard.setSingleURL("https://xxxx");
        request.setActionCard(actioncard);
        client.execute(request);
        return "";
    }
	

最终实现效果如下:

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5708049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存