먼저 DingTalk 그룹을 만들고 로봇을 추가하세요
이때 로봇 IT는 추가되었으니 로봇형님과 연결하는 코드를 작성해 볼까요
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}
DingTalk 그룹 표시 메시지:
좋아요, 간단한 메시지 푸시 완료!
모든 사람에게 알리고 특정 사람에게 다시 알리는 테스트를 해보자
isAtAll을 true로 변경
//是否通知所有人 boolean isAtAll = true; //通知具体人的手机号码列表 List<String> mobileList = Lists.newArrayList();
알림자 번호 목록을 추가하세요 (참고: isAtAll과 mobileList는 동시에 적용될 수 없습니다)
//是否通知所有人 boolean isAtAll = false; //通知具体人的手机号码列表 List<String> mobileList = Lists.newArrayList(); mobileList.add("182********");
특수 기호를 다시 테스트해 보겠습니다
줄 바꿈 식별자
/** * 换行标识符 */ private static final String NEWLINE = "\n"; //钉钉机器人消息内容 //String content = "小哥,你好!"; StringBuffer sb = new StringBuffer(); sb.append("小哥,你好!") .append(NEWLINE) .append("看会书"); String content = sb.toString();
emoji 사진
먼저 emoji 사진의 유니코드 인코딩을 가져옵니다
쓰기 코드는 다음과 같습니다:
/** * 苹果unicode编码 */ private static final String APPLE = "\ud83c\udf4e"; //钉钉机器人消息内容 //String content = "小哥,你好!"; StringBuffer sb = new StringBuffer(); sb.append("小哥,你好!") .append(NEWLINE) .append("看会书") .append(NEWLINE) .append("吃个").append(APPLE); String content = sb.toString();
보통 우리 프로젝트에 일부 알람으로 추가되어 편리하고 실용적입니다.
다양한 실용적인 기술을 갖춘 매우 흥미로운 DingTalk 로봇으로 깊이있게 탐색할 수 있습니다!
2019-12-05에 업데이트되었습니다
많은 친구들이 http 요청에 대해 문의하는 메시지를 남겼습니다. 여기에 2개의 http 요청 코드가 있습니다.
<!--糊涂工具--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.0.12</version> </dependency>
2. Maven이 아닌 프로젝트
jar 패키지 추가httpclient-xxx.jar
commons-logging-xxx.jarhttp 요청 코드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; }방법은 참고용이며 이미 만들어져 있습니다. 프로젝트의 http 요청을 직접 사용할 수 있습니다!
관련 학습 권장사항:
위 내용은 DingTalk 로봇 메시지 푸시를 위한 샘플 코드를 구현하기 위해 Java를 배우십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!