站長資訊網
最全最豐富的資訊網站

學習java實現釘釘機器人消息推送的示例代碼

學習java實現釘釘機器人消息推送的示例代碼

先建個釘釘群,并加好機器人

學習java實現釘釘機器人消息推送的示例代碼

學習java實現釘釘機器人消息推送的示例代碼

學習java實現釘釘機器人消息推送的示例代碼

學習java實現釘釘機器人消息推送的示例代碼

學習java實現釘釘機器人消息推送的示例代碼

學習java實現釘釘機器人消息推送的示例代碼

此時,機器人已經添加完畢,接下來編寫我們連接機器人小哥的代碼

import com.alibaba.fastjson.JSON; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import java.util.List; import java.util.Map;  /**  * @author yanghao  * @version DingTalkTest.java, v 0.1 2019-03-29 11:36  */ public class DingTalkTest {   public static void main(String[] args){   try {   //釘釘機器人地址(配置機器人的webhook)   String dingUrl = "https://oapi.dingtalk.com/robot/send?access_token=............";    //是否通知所有人   boolean isAtAll = false;   //通知具體人的手機號碼列表   List<String> mobileList = Lists.newArrayList();    //釘釘機器人消息內容   String content = "小哥,你好!";   //組裝請求內容   String reqStr = buildReqStr(content, isAtAll, mobileList);    //推送消息(http請求)   String result = HttpUtil.postJson(dingUrl, reqStr);   System.out.println("result == " + result);   }catch (Exception e){   e.printStackTrace();   }   }   /**  * 組裝請求報文  * @param content  * @return  */  private static String buildReqStr(String content, boolean isAtAll, List<String> mobileList) {  //消息內容  Map<String, String> contentMap = Maps.newHashMap();  contentMap.put("content", content);   //通知人  Map<String, Object> atMap = Maps.newHashMap();  //1.是否通知所有人  atMap.put("isAtAll", isAtAll);  //2.通知具體人的手機號碼列表  atMap.put("atMobiles", mobileList);   Map<String, Object> reqMap = Maps.newHashMap();  reqMap.put("msgtype", "text");  reqMap.put("text", contentMap);  reqMap.put("at", atMap);   return JSON.toJSONString(reqMap);  }  }

運行結果如下:

result == {"errmsg":"ok","errcode":0}

釘釘群顯示消息:

學習java實現釘釘機器人消息推送的示例代碼

ok,簡單的消息推送,這就完成了!

我們再來測試一下通知所有人和通知具體人

將isAtAll更改為true

//是否通知所有人 boolean isAtAll = true; //通知具體人的手機號碼列表 List<String> mobileList = Lists.newArrayList();

學習java實現釘釘機器人消息推送的示例代碼

增加通知人號碼列表(注:isAtAll和mobileList 不能同時生效)

//是否通知所有人 boolean isAtAll = false; //通知具體人的手機號碼列表 List<String> mobileList = Lists.newArrayList(); mobileList.add("182********");

學習java實現釘釘機器人消息推送的示例代碼

再來測試一下特殊符號

換行標識符

/**  * 換行標識符  */ private static final String NEWLINE = "n";  //釘釘機器人消息內容 //String content = "小哥,你好!"; StringBuffer sb = new StringBuffer(); sb.append("小哥,你好!")  .append(NEWLINE)  .append("看會書");  String content = sb.toString();

學習java實現釘釘機器人消息推送的示例代碼

emoji圖片

先獲取emoji圖片的unicode編碼

學習java實現釘釘機器人消息推送的示例代碼

編寫代碼如下:

/**  * 蘋果unicode編碼  */ private static final String APPLE = "ud83cudf4e";  //釘釘機器人消息內容 //String content = "小哥,你好!"; StringBuffer sb = new StringBuffer(); sb.append("小哥,你好!")  .append(NEWLINE)  .append("看會書")  .append(NEWLINE)  .append("吃個").append(APPLE);  String content = sb.toString();

學習java實現釘釘機器人消息推送的示例代碼

通常在我們的項目中,作為一些告警加入,方便且實用
很有意思的釘釘機器人,很多實用技巧,可以深入去探索一波!

更新于2019-12-05

很多小伙伴留言咨詢http請求,這邊給大家2個http請求代碼

1. maven項目

添加依賴

<!--糊涂工具--> <dependency>  <groupId>cn.hutool</groupId>  <artifactId>hutool-all</artifactId>  <version>4.0.12</version> </dependency>

http請求代碼

private static final int timeout = 10000;   public static String postJson(String url, String reqStr) {  String body = null;  try {   body = HttpRequest.post(url).body(reqStr).timeout(timeout).execute().body();  } catch (Exception e) {   e.printStackTrace();  }  return body; }

2. 非maven項目

添加jar包
httpclient-xxx.jar
commons-logging-xxx.jar

http請求代碼

public static String postJson(String url, String body) {   // 創建Httpclient對象   CloseableHttpClient httpClient = createCustomClient();   CloseableHttpResponse response = null;   String resultString = null;   try {    // 創建Http Post請求    HttpPost httpPost = new HttpPost(url);    httpPost.addHeader("Content-Type", "application/json");     if (body != null) {     httpPost.setEntity(new StringEntity(body, "utf-8"));    }    // 執行http請求    response = httpClient.execute(httpPost);    resultString = EntityUtils.toString(response.getEntity(), "utf-8");   } catch (Exception e) {    e.printStackTrace();   } finally {    try {     if (response != null) {      response.close();     }    } catch (Exception e) {     e.printStackTrace();    }   }    return resultString;  }   public static CloseableHttpClient createCustomClient() {   RequestConfig defaultRequestConfig = RequestConfig.custom()     .setSocketTimeout(120 * 1000)     .setConnectTimeout(120 * 1000)     .setConnectionRequestTimeout(120 * 1000)     .setStaleConnectionCheckEnabled(true)     .build();    return HttpClients.custom().setDefaultRequestConfig(defaultRequestConfig).build();  }

方法僅供參考,項目里面有現成的http請求,可以直接用!

相關學習推薦:java基礎教程

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
四虎永久在线日韩精品观看| 午夜福利麻豆国产精品| 国产成人无码精品一区在线观看| 精品丝袜人妻久久久久久| 精品无码免费专区毛片| 奇米精品视频一区二区三区| 久久国产精品久久国产精品| 久久99精品久久久久久9蜜桃| 热综合一本伊人久久精品| 亚洲日韩中文字幕在线播放| 国产精品免费看久久久无码| 精品国产一区二区三区www| 日本精品无码一区二区三区久久久 | 国产精品天天影视久久综合网| 无码国内精品人妻少妇 | 精品久久人人做人人爽综合| 中文字幕日韩在线观看| 亚洲精品视频在线观看免费 | 国产精品午睡沙发系列| 精品国产一区二区三区免费看 | 国产精品无码素人福利不卡| 国语自产偷拍精品视频偷| 久久精品夜色国产亚洲av| 国产精品国产高清国产专区| 在线播放偷拍一区精品| 孩交videos精品乱子豆奶视频| 69国产成人综合久久精品91| 久久久久青草大香线综合精品| 亚洲日韩精品无码一区二区三区| 九九精品在线视频| 久久这里有精品视频| 在线精品亚洲一区二区三区| 亚洲伊人久久精品影院| 在线观看国产精品日韩av| 精品午夜久久福利大片| 久久精品国产91久久综合麻豆自制| 国产亚洲一区二区精品| 亚洲AV无码国产精品麻豆天美| 久久精品国产亚洲av四虎| 无码人妻精品中文字幕免费| 久久99国产综合精品免费|