1.创建钉钉群自定义机器人




2.创建好之后钉钉会返回wobhook地址,这个地址用来访问钉钉接口,如果之前选择了加签,这个地址需要再处理,否则不需要 。(点击设置说明按钮,进入钉钉的官方文档)

3.查看钉钉的官方文档的自定义机器人的调用的说明,选择自己需要发送的类型是文本类型的还是其他的,我这里选择文本类型的


4.将sdk的java案例复制到自己的后端代码里面去,对代码需要的格式类型保留,不需要的去掉,如果选择文本类型,也建议保留OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();
// isAtAll类型如果不为Boolean,请升级至最新SDK
at.setIsAtAll(true);
request.setAt(at);

5. 调用前的准备工作:




6. 调用的工具类案例(测试能发送至钉钉群)

 @Testpublic void test17() throws ApiException, UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {String url = "https://oapi.dingtalk.com/robot/send?access_token=XXXX";dingDingUtils.sendDingDing(url);}
package com.example.demo.utils;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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.springframework.stereotype.Component;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;/*** @author qwa* @Description* @date 18/4/2022*/
@Component("dingDingUtils")
@Slf4j
public class DingDingUtils {public void sendDingDing(String url) throws ApiException, UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {//https://oapi.dingtalk.com/robot/send?access_token=XXXXXX&timestamp=XXX&sign=XXX//如果创建机器人的时候选择了加密,就需要getSign(XXX) : xxx指的是加签的时候生成的字符串。另外可以点击 密钥如上,签名方法请参考 说明文档String sign = getSign("XXX");url = url + sign ;DingTalkClient client = new DefaultDingTalkClient(url);OapiRobotSendRequest request = new OapiRobotSendRequest();request.setMsgtype("text");OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();text.setContent("测试异常!");request.setText(text);//就算不艾特某个人,也加上,setIsAtAll(false)OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();// isAtAll类型如果不为Boolean,请升级至最新SDKat.setIsAtAll(false);request.setAt(at);OapiRobotSendResponse response = client.execute(request);}public String getSign(String secret) throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {Long timestamp = System.currentTimeMillis();String stringToSign = timestamp + "\n" + secret;Mac mac = Mac.getInstance("HmacSHA256");mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"));byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8"));String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)),"UTF-8");//https://oapi.dingtalk.com/robot/send?access_token=XXXXXX&timestamp=XXX&sign=XXXString signUrl = "&timestamp="+timestamp+"&sign="+sign ;return signUrl ;}
}

java调用钉钉的群自定义机器人相关推荐

  1. python request模块 在钉钉中创建群聊机器人,一键发送消息,定时发送(详细步骤)

    0.安装requests模块 Linux下执行 pip3 install requests 1.request简介 Reqest是Python的HTTP库,内部采用urillib3模块,但是用起来比u ...

  2. 机器人聊天软件c#_使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_132 最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用 ...

  3. 使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)

    最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿里的pm都是脑残才会设计出这种脑残产品,不过吐槽归吐槽,该用 ...

  4. 最新教程:Python开发钉钉群自定义机器人

    最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿里的pm都是脑残才会设计出这种脑残产品,不过吐槽归吐槽,该用 ...

  5. 通过Webhook接入钉钉群自定义机器人

    在钉钉群中添加Webhook自定义机器人, 复制Webhook地址保存: https://oapi.dingtalk.com/robot/send?access_token=xxxxxx 安全设置:选 ...

  6. 钉钉单聊/群聊机器人实现思路

    钉钉官网文档:https://open.dingtalk.com/document/group/robot-overview 一.钉钉开发平台 1.申请机器人 应用开发-企业内部开发-基础信息-机器人 ...

  7. 把盏言欢,款款而谈,ChatGPT结合钉钉机器人(outgoing回调)打造人工智能群聊/单聊场景,基于Python3.10

    就像黑火药时代里突然诞生的核弹一样,OpenAI的ChatGPT语言模型的横空出世,是人工智能技术发展史上的一个重要里程碑.这是一款无与伦比.超凡绝伦的模型,能够进行自然语言推理和对话,并且具有出色的 ...

  8. 【办公自动化】钉钉机器人每日定时向不同群组发送消息

    实现每日上午10点自动向各供应商群同步前一日产品数据.通过python+钉钉机器人实现该功能.具体步骤如下: 目录 1.创建机器人获得token 2.编写脚本 2.1 数据整理 2.2 消息发送 3. ...

  9. 钉钉群机器人消息通知

    最近项目需要授权,需要及时通知授权失败的工单,所以就用到了钉钉机器人在群里实时通知,然后就写下了这篇文章.如果放到服务器出现域名错误修改hosts文件,在服务器执行vi /etc/hosts可直接修改 ...

最新文章

  1. 哈夫曼树实现压缩文件
  2. 7-2 然后是几点 (Java)
  3. 网站单页面排名提升的技巧有哪些?
  4. [CareerCup] 1.6 Rotate Image 翻转图像
  5. Tomcat启用HTTPS协议配置过程
  6. oracle linux下数据迁移到不同服务器
  7. python共享单车数据分析_共享单车数据可视化分析(Python/Seaborn)
  8. KiB、MiB与KB、MB的区别
  9. oracle修改dbf文件,如何修改Oracle的dbf文件位置
  10. 澳大利亚麦考瑞大学计算机系杨坚教授团队招收2022-2023年博士研究生
  11. 今日算法笔试练习【5】(08-06)(历年笔试题)
  12. 【排序算法】快速排序的分析改进
  13. 大数据背景下的智慧物流:物流行业解决方案
  14. Android系统永不熄屏和取消开机锁屏功能
  15. Linux 中的TAB键名字补全使用方法
  16. 如何制定软件项目测试计划
  17. Android仿微信发起群聊的列表样式
  18. OLE技术专题——第二讲:复合文件
  19. 【九宫切图】什么是九宫绘图
  20. 欢迎关注公众号:Kotlin开发者社区

热门文章

  1. vue3+echarts+地图(3D立体)
  2. 解决【unity3d】播放视频的两种操作方式
  3. Redis 源码该怎么读?(译文)
  4. 电大管理英语4计算机期末考试,2018年电大《管理英语(4)》期末试题和答案.pdf...
  5. _nullable、nullable、nonnull区别
  6. 系统安装、qt配置、安装pcie驱动
  7. pycharm怎么改成中文(详细版)
  8. arduino——编码器示例(中断控制)
  9. 人物专访 | Artifex Studio合成师兼统筹小姐姐不一样的经历
  10. 【UE4官方文档翻译】Unreal Engine 4 For Unity Developers (针对Unity开发者的UE4)