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

小编给大家分享一下如何实现基于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 mapParam) {    Map 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 param, Map 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 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 json=new HashMap();    Map 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使用钉钉机器人向钉钉群推送消息功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网站栏目:如何实现基于java使用钉钉机器人向钉钉群推送消息功能
标题路径:http://pwwzsj.com/article/ggheds.html