其他分享
首页 > 其他分享> > 【钉钉开放平台】自定义机器人发送消息

【钉钉开放平台】自定义机器人发送消息

作者:互联网

1 在钉钉群中添加自定义机器人

##1. 点击头像-->机器人管理-->自定义-->添加-->输入一个关键字-->添加完成就会生成如下的令牌

https://oapi.dingtalk.com/robot/send?access_token=你的令牌

##2. 测试
curl 'https://oapi.dingtalk.com/robot/send?access_token=你的令牌' \
-H 'Content-Type: application/json' \
-d '{"msgtype":"text", "text":{"content":"关键词-String"}}'

2 依赖maven

在使用钉钉前,需要先向本地maven仓库中导入钉钉所需的SDK。

2.1 下载钉钉服务店SDK

服务端SDK下载 - 钉钉开放平台 (dingtalk.com)

2.2 将钉钉的sdk安装到maven的本地仓库

需要在cmd界面执行,需要配置maven的bin目录在path路径下。

mvn install:install-file \
-Dfile=D:/development/Jars/taobao-sdk-java-auto_1479188381469-20210709.jar \
-DgroupId=com.dingtalk -DartifactId=dingtalk-api \
-Dversion=1.0.0 -Dpackaging=jar

2.3 导入dingtalk依赖

<!-- dingtalk依赖 -->
<dependency>
    <groupId>com.dingtalk</groupId>
    <artifactId>dingtalk-api</artifactId>
    <version>1.0.0</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
</dependency>

2.1 导入阿里云仓库中的DingTalk SDK

不知道是什么原因,官网上下载的jar包竟然不是最新版的。
在这里插入图片描述
故直接更改了pom文件去下载阿里云仓库中的sdk了。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>dingtalk_developers</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <repositories>
        <!-- 阿里云仓库 -->
        <repository>
            <id>aliyun</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </repository>
    </repositories>

    <dependencies>

        <!-- dingtalk依赖 -->
<!--        <dependency>-->
<!--            <groupId>com.dingtalk</groupId>-->
<!--            <artifactId>dingtalk-api</artifactId>-->
<!--            <version>1.0.0</version>-->
<!--            <scope>compile</scope>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.ganshane.specs</groupId>
            <artifactId>dingtalk-sdk</artifactId>
            <version>20210115</version>
        </dependency>

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>

    </dependencies>

</project>

3 自定义预警机器人

自定义机器人接入 - 钉钉开放平台 (dingtalk.com)

请添加图片描述
根据官网实现最基础的消息发送功能

package com.dawson.robot;


import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiRobotSendRequest;
import com.dingtalk.api.response.OapiRobotSendResponse;
import com.taobao.api.ApiException;

import java.util.Arrays;

/**
 * <p>自定义机器人消息发送测试</p>
 * <p>创建时间:2021-7-15 10:24:20</p>
 * <p>修改时间:2021-7-15 10:24:20</p>
 * @author Dawson
 * @version 1.0
 */
public class Test {

    public static void main(String[] args) throws ApiException {

        // 根据机器人的token获取DingTalkClient
        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/robot/send?access_token=你的token");

        // 创建请求对象
        OapiRobotSendRequest request = new OapiRobotSendRequest();

        // 文本消息
        request.setMsgtype("text");
        OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
        // 注意内容中要包含你设置的关键词!
        text.setContent("azkaban预警:Dawson test...");
        request.setText(text);

        // 添加联系方式对象
        OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();
        at.setAtMobiles(Arrays.asList("13220802021"));
        at.setIsAtAll(true);// @All
        request.setAt(at);

        // 发送
        OapiRobotSendResponse response = client.execute(request);
        System.out.println(response.isSuccess());

    }

}

标签:OapiRobotSendRequest,自定义,dingtalk,--,机器人,开放平台,api,com
来源: https://blog.csdn.net/qq_41549663/article/details/118968201