您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

java调用钉钉机器人

调用钉钉的sdk实现机器人消息推送

	作为一名程序员,自己的代码报错的时候 自己应该第一时间知道的

一、适用场景
1.项目报警业务、阈值提醒、及服务down掉的时候等各种消息通知,根据自己的需求而定。

二、实现步骤
1.1:创建钉钉群、添加机器人 机器人选择自定义
选择自定义
1.2:根据自己的业务进行配置
在这里插入图片描述
1.3:添加机器人成功 这里要记住accessToken 后续用到
在这里插入图片描述
2.1前往官网下载sdk:https://developers.dingtalk.com/document/app/download-the-server-side-sdk
2.2把下载下来的jar打包进maven仓库
使用mvn命令

mvn install:install-file  
项目包名 
-DgroupId=com.dingtalk.open
工程名 
-DartifactId=taobao-sdk-java-auto  
版本号
-Dversion=1.0
 包的形式(pom、jar、war)
-Dpackaging=jar 
包所在的路径
-Dfile="E:\work\java文件\taobao-sdk-java-auto.jar"

使用cmd合并执行

mvn install:install-file  -DgroupId=com.dingtalk.open -DartifactId=taobao-sdk-java-auto   -Dversion=1.0  -Dpackaging=jar  -Dfile="E:\work\java文件\taobao-sdk-java-auto.jar"

2.3完成上述步骤后,pom导入依赖

	<dependency>
			<groupId>com.dingtalk.open</groupId>
			<artifactId>taobao-sdk-java-auto</artifactId>
			<version>1.0</version>
		</dependency>

调用机器人工具类

/**
 * @author Mr.li
 * @date 2021/5/31 17:02
 */
public class DingDingUtil {
    public static void pushDingDingTalk(String accessToken){
        try {
            String sign=appendSign();
            String dingdingUrl="https://oapi.dingtalk.com/robot/send?access_token="+accessToken;
            String url=dingdingUrl+sign;
            DingTalkClient client = new DefaultDingTalkClient(url);
            OapiRobotSendRequest request = new OapiRobotSendRequest();
            request.setMsgtype("text");
            OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
            text.setContent("输入内容");
            request.setText(text);
            OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();
            at.setAtMobiles(Arrays.asList("13263125227"));
            request.setAt(at);

            request.setMsgtype("link");
            OapiRobotSendRequest.Link link = new OapiRobotSendRequest.Link();
            link.setMessageUrl("https://www.dingtalk.com/");
            link.setPicUrl("");
            link.setTitle("输入标题");
            link.setText("");
            request.setLink(link);
            // 设置信息类型
            request.setMsgtype("markdown");
            OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown();
            markdown.setTitle("打手哥");
            markdown.setText("打手您好: 您的代码永无bug");
            request.setMarkdown(markdown);
            OapiRobotSendResponse response = client.execute(request);
        }catch (Exception e){
            throw new RuntimeException(e.getMessage());
        }
    }
    private static String appendSign(){
        try{
            Long timestamp = System.currentTimeMillis();
            String secret = "this is 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);
            return "&timestamp="+timestamp+"&sign="+sign;
        }catch (Exception e){
            throw new RuntimeException(e.getMessage());
        }
    }
}

调用成功!
在这里插入图片描述


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进