java开发:发送钉钉消息

简介: 使用java发送钉钉消息

钉钉设置:
1、创建群聊

2、群聊设置自定义机器人:

3、获取webhook地址

4、写代码:

public class MessageService {

    public static String url = "https://oapi.dingtalk.com/robot/send?access_token=****";
    
    public static String keyWords = "监控信息:";
    
    public static String sendMessage(String json) {
        try {
            HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
            httpRequestFactory.setConnectionRequestTimeout(500);
            httpRequestFactory.setConnectTimeout(500);
            httpRequestFactory.setReadTimeout(500);
            RestTemplate template = new RestTemplate(httpRequestFactory);
            //ClientHttpRequestFactory clientFactory = new HttpComponentsClientHttpRequestFactory();
            //template.setRequestFactory(clientFactory);
            URI uri = UriComponentsBuilder.fromUriString(url) //
                    .build().encode().toUri();
            HttpHeaders requestHeaders = new HttpHeaders();
            requestHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
            requestHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON_UTF8));
            @SuppressWarnings({ "rawtypes", "unchecked" })
            HttpEntity<String> requestEntity = new HttpEntity(json,requestHeaders);
            ResponseEntity<String> responseEntity = template.exchange(uri, HttpMethod.POST, requestEntity,
                    String.class);
            System.out.println(responseEntity.getBody());
            return responseEntity.getBody();
        } catch (Exception e) {
            //do noting
        }
        return null;
    }
    
    public static String sendTextMsg(String text) {
        JSONObject json = new JSONObject();
        json.put("msgtype", "text");
        Map<String,String> map = new HashMap<>();
        map.put("content", keyWords + text);
        json.put("text",map);
        return sendMessage(json.toString());
    }
    
    public static String sendLinkMsg(String title,String text,String picUrl,String messageUrl) {
        JSONObject json = new JSONObject();
        json.put("msgtype", "link");
        Map<String,String> map = new HashMap<>();
        map.put("text", keyWords + text);
        map.put("title", title);
        map.put("picUrl", picUrl);
        map.put("messageUrl", messageUrl);
        json.put("link",map);
        return sendMessage(json.toString());
    }

    public static void main(String[] args) {
        sendTextMsg("测试");
    }
相关文章
|
3天前
|
数据采集 Java 数据挖掘
Java IO异常处理:在Web爬虫开发中的实践
Java IO异常处理:在Web爬虫开发中的实践
|
22天前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
5天前
|
数据采集 存储 前端开发
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
9天前
|
存储 搜索推荐 Java
探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
|
27天前
|
前端开发 Oracle Java
【前端学java】java开发的依赖安装与环境配置(1)
【8月更文挑战第8天】java开发的依赖安装与环境配置
32 1
【前端学java】java开发的依赖安装与环境配置(1)
|
20天前
|
数据采集 供应链 JavaScript
分享基于Java开发的Java毕业设计实战项目题目
这篇文章分享了67套基于Java开发的毕业设计实战项目题目,覆盖了互联网、企业管理、电子政务、Java基础项目、ERP系统、校园相关、医疗以及其他细分行业等多个领域,并推荐了使用IDEA、Vue和Springboot的技术栈。
|
17天前
|
IDE Java 开发工具
快速上手指南:如何用Spring Boot开启你的Java开发之旅?
【8月更文挑战第22天】Spring Boot由Pivotal团队开发,简化了Spring应用的创建过程。本文详述了从零开始搭建Spring Boot项目的步骤:首先确保安装了新版JDK、Maven/Gradle及IDE如IntelliJ IDEA或Eclipse;接着访问Spring Initializr网站(start.spring.io),选择所需依赖(如Web模块)并生成项目;最后,使用IDE打开生成的项目,添加`@SpringBootApplication`注解及main方法来启动应用。通过这些步骤,即便是新手也能快速上手,专注于业务逻辑的实现。
29 1
|
18天前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
35 1
|
18天前
|
Java API 数据库
详细介绍如何使用Spring Boot简化Java Web开发过程。
Spring Boot简化Java Web开发,以轻量级、易用及高度可定制著称。通过预设模板和默认配置,开发者可迅速搭建Spring应用。本文通过创建RESTful API示例介绍其快速开发流程:从环境准备、代码编写到项目运行及集成数据库等技术,展现Spring Boot如何使Java Web开发变得更高效、简洁。
34 1
|
20天前
|
分布式计算 Java API
Java 8带来了流处理与函数式编程等新特性,极大提升了开发效率
Java 8带来了流处理与函数式编程等新特性,极大提升了开发效率。流处理采用声明式编程模型,通过filter、map等操作简化数据集处理,提高代码可读性。Lambda表达式支持轻量级函数定义,配合Predicate、Function等接口,使函数式编程无缝融入Java。此外,Optional类及新日期时间API等增强功能,让开发者能更优雅地处理潜在错误,编写出更健壮的应用程序。
22 1
下一篇
DDNS