温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何实现基于java使用钉钉机器人向钉钉群推送消息功能

发布时间:2021-09-28 14:39:53 来源:亿速云 阅读:358 作者:小新 栏目:编程语言

小编给大家分享一下如何实现基于java使用钉钉机器人向钉钉群推送消息功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

第一步、登录钉钉电脑版,获得钉钉机器人的webhook;

第二步,用java发送post请求给钉钉完成消息推送

package com.thinkgem.wlw.modules.lhjh.DingTalk;import com.alibaba.fastjson.JSON;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.net.URL;import java.net.URLConnection;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;/** * @Author: zhouhe * @Date: 2019/6/20 14:49 */public class SendHttps {  private static Logger logger = LoggerFactory.getLogger(SendHttps.class);  /**   * 发送POST请求,参数是Map, contentType=x-www-form-urlencoded   *   * @param url   * @param mapParam   * @return   */  public static String sendPostByMap(String url, Map<String, Object> mapParam) {    Map<String, String> headParam = new HashMap();    headParam.put("Content-type", "application/json;charset=UTF-8");    return sendPost(url, mapParam, headParam);  }  /**   * 向指定 URL 发送POST方法的请求   *   * @param url  发送请求的 URL   * @param param 请求参数,   * @return 所代表远程资源的响应结果   */  public static String sendPost(String url, Map<String, Object> param, Map<String, String> headParam) {    PrintWriter out = null;    BufferedReader in = null;    String result = "";    try {      URL realUrl = new URL(url);      // 打开和URL之间的连接      URLConnection conn = realUrl.openConnection();      // 设置通用的请求属性 请求头      conn.setRequestProperty("accept", "*/*");      conn.setRequestProperty("connection", "Keep-Alive");      conn.setRequestProperty("user-agent",          "Fiddler");      if (headParam != null) {        for (Entry<String, String> entry : headParam.entrySet()) {          conn.setRequestProperty(entry.getKey(), entry.getValue());        }      }      // 发送POST请求必须设置如下两行      conn.setDoOutput(true);      conn.setDoInput(true);      // 获取URLConnection对象对应的输出流      out = new PrintWriter(conn.getOutputStream());      // 发送请求参数      out.print(JSON.toJSONString(param));      // flush输出流的缓冲      out.flush();      // 定义BufferedReader输入流来读取URL的响应      in = new BufferedReader(          new InputStreamReader(conn.getInputStream()));      String line;      while ((line = in.readLine()) != null) {        result += line;      }    } catch (Exception e) {      logger.info("发送 POST 请求出现异常!" + e);      e.printStackTrace();    }    //使用finally块来关闭输出流、输入流    finally {      try {        if (out != null) {          out.close();        }        if (in != null) {          in.close();        }      } catch (IOException ex) {        ex.printStackTrace();      }    }    return result;  }}

第三步,编写测试类

package com.thinkgem.wlw.modules.lhjh.DingTalk;import java.util.HashMap;import java.util.Map;/** * @Author: zhouhe * @Date: 2019/6/20 14:52 */public class SendMessage {  public static void main(String[] args){    // 钉钉的webhook    String dingDingToken="https://oapi.dingtalk.com/robot/send?access_token=0f0daca33m98gn78f00189fe1e1e908b81fa26d0d8ddd48fa78a844cd8636187";    // 请求的JSON数据,这里我用map在工具类里转成json格式    Map<String,Object> json=new HashMap();    Map<String,Object> text=new HashMap();    json.put("msgtype","text");    text.put("content","临涣焦化:VOCs排放浓度大于上限:61.89");    json.put("text",text);    // 发送post请求    String response = SendHttps.sendPostByMap(dingDingToken, json);    System.out.println("相应结果:"+response);  }}

以上是“如何实现基于java使用钉钉机器人向钉钉群推送消息功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI