溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實現(xiàn)基于java使用釘釘機器人向釘釘群推送消息功能

發(fā)布時間:2021-09-28 14:39:53 來源:億速云 閱讀:346 作者:小新 欄目:編程語言

小編給大家分享一下如何實現(xiàn)基于java使用釘釘機器人向釘釘群推送消息功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

第一步、登錄釘釘電腦版,獲得釘釘機器人的webhook;

第二步,用java發(fā)送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);  /**   * 發(fā)送POST請求,參數(shù)是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 發(fā)送POST方法的請求   *   * @param url  發(fā)送請求的 URL   * @param param 請求參數(shù),   * @return 所代表遠程資源的響應(yīng)結(jié)果   */  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();      // 設(shè)置通用的請求屬性 請求頭      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());        }      }      // 發(fā)送POST請求必須設(shè)置如下兩行      conn.setDoOutput(true);      conn.setDoInput(true);      // 獲取URLConnection對象對應(yīng)的輸出流      out = new PrintWriter(conn.getOutputStream());      // 發(fā)送請求參數(shù)      out.print(JSON.toJSONString(param));      // flush輸出流的緩沖      out.flush();      // 定義BufferedReader輸入流來讀取URL的響應(yīng)      in = new BufferedReader(          new InputStreamReader(conn.getInputStream()));      String line;      while ((line = in.readLine()) != null) {        result += line;      }    } catch (Exception e) {      logger.info("發(fā)送 POST 請求出現(xiàn)異常!" + e);      e.printStackTrace();    }    //使用finally塊來關(guān)閉輸出流、輸入流    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){    // 釘釘?shù)膚ebhook    String dingDingToken="https://oapi.dingtalk.com/robot/send?access_token=0f0daca33m98gn78f00189fe1e1e908b81fa26d0d8ddd48fa78a844cd8636187";    // 請求的JSON數(shù)據(jù),這里我用map在工具類里轉(zhuǎn)成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);    // 發(fā)送post請求    String response = SendHttps.sendPostByMap(dingDingToken, json);    System.out.println("相應(yīng)結(jié)果:"+response);  }}

以上是“如何實現(xiàn)基于java使用釘釘機器人向釘釘群推送消息功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI