真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringBoot實(shí)現(xiàn)釘釘機(jī)器人消息推送的示例代碼-創(chuàng)新互聯(lián)

零、前言

成都創(chuàng)新互聯(lián)是專業(yè)的西城網(wǎng)站建設(shè)公司,西城接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行西城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

上一次做消息推送,是微信公眾號的定時(shí)消息通知。
由于自己當(dāng)時(shí)的水平不夠,加上企鵝家的開發(fā)文檔普遍不太友好,導(dǎo)致根本看不懂文檔在寫什么,不得不去看第三方博客來學(xué)習(xí)公眾號的開發(fā)。
這次就不一樣了,昨天剛看了一下,阿里的開發(fā)文檔比鵝廠要清晰的多,而且在同一功能上,使用了多種語言作為示例代碼,可以說很友好了??赡苓@就是阿里和鵝廠的區(qū)別吧...辣雞文檔和好文檔的區(qū)別...
本著“授之以漁”的態(tài)度,寫了這篇文章,作為官方文檔的補(bǔ)充。

SpringBoot實(shí)現(xiàn)釘釘機(jī)器人消息推送的示例代碼

一、在群里添加機(jī)器人

在群設(shè)置的智能群助手中添加自定義機(jī)器人,它長這個(gè)樣子:

SpringBoot實(shí)現(xiàn)釘釘機(jī)器人消息推送的示例代碼

比較關(guān)鍵的一步,是進(jìn)行安全設(shè)置。
加密方式一共有三種,既可以選擇一種也可以使用多種方式組合:

  • 自定義關(guān)鍵詞
  • 加簽
  • IP地址

各種加密方式的介紹,詳見官網(wǎng):https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq

為了讓博客起到效果,我們選擇相對安全、也比較難的加簽方式。
選擇加簽之后,把密鑰復(fù)制出來,然后就可以點(diǎn)確定了。

二、構(gòu)建請求地址和內(nèi)容

先看看官方文檔怎么描述加簽的:

第一步,把timestamp+"\n"+密鑰當(dāng)做簽名字符串,使用HmacSHA256算法計(jì)算簽名,然后進(jìn)行Base64 encode,最后再把簽名參數(shù)再進(jìn)行urlEncode,得到最終的簽名(需要使用UTF-8字符集)。
第二步,把 timestamp和第一步得到的簽名值拼接到URL中。

官方的解釋很高大上,其實(shí)原理很簡單,就是把機(jī)器人密鑰加密后,放在URL的參數(shù)中,所以我們需要分別獲取時(shí)間戳和密鑰,組合一下,加密一下,再拼接一下就好了,如圖:

SpringBoot實(shí)現(xiàn)釘釘機(jī)器人消息推送的示例代碼

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;
  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");
  System.out.println(sign);
 }
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前名稱:SpringBoot實(shí)現(xiàn)釘釘機(jī)器人消息推送的示例代碼-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://weahome.cn/article/dodojs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部