springboot集成钉钉_SpringBoot实现钉钉机器人消息推送的示例代码

零、前言

上一次做消息推送,是微信公众号的定时消息通知。

由于自己当时的水平不够,加上企鹅家的开发文档普遍不太友好,导致根本看不懂文档在写什么,不得不去看第三方博客来学习公众号的开发。

这次就不一样了,昨天刚看了一下,阿里的开发文档比鹅厂要清晰的多,而且在同一功能上,使用了多种语言作为示例代码,可以说很友好了。可能这就是阿里和鹅厂的区别吧...辣鸡文档和好文档的区别...

本着“授之以渔”的态度,写了这篇文章,作为官方文档的补充。

一、在群里添加机器人

在群设置的智能群助手中添加自定义机器人,它长这个样子:

比较关键的一步,是进行安全设置。

加密方式一共有三种,既可以选择一种也可以使用多种方式组合:

自定义关键词

加签

IP地址

为了让博客起到效果,我们选择相对安全、也比较难的加签方式。

选择加签之后,把密钥复制出来,然后就可以点确定了。

二、构建请求地址和内容

先看看官方文档怎么描述加签的:

第一步,把timestamp+"\n"+密钥当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集)。

第二步,把 timestamp和第一步得到的签名值拼接到URL中。

官方的解释很高大上,其实原理很简单,就是把机器人密钥加密后,放在URL的参数中,所以我们需要分别获取时间戳和密钥,组合一下,加密一下,再拼接一下就好了,如图:

I have a Pen,

I have an Apple,

Oh~ Applepen~

官方给出了这样的示例代码:

import javax.crypto.Mac;

import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Base64;

import java.net.URLEncoder;

public class Test {

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

Long timestamp = System.currentTimeMillis();

String secret = "this is secret";

String stringToSign = timestamp + "\n" + secret;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值