亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java通過釘釘機器人發(fā)消息的實現(xiàn)示例

 更新時間:2023年09月07日 15:21:07   作者:小非肥  
本文主要介紹了java通過釘釘機器人發(fā)消息的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

釘釘自定義機器人使用 加簽的配置 發(fā)送消息

注意:內(nèi)部群才可以創(chuàng)建自定義機器人
釘釘網(wǎng)址-自定義機器人創(chuàng)建

1、獲得的釘釘配置信息workhook和secret

//url路徑
    private String URL = "https://oapi.dingtalk.com/robot/send?access_token=08ebaa04f98f7faacbacd80fa879463d85cdccdd6cef184ef01bb5a8b6ae6f6c";
//加簽密鑰
    private String DINGDING_SECRET = "SEC27596efd776991b2f6786270fa59552459f64612b17adf377295669361af3fae";

2、配置加簽

配置路徑

    private String getSign() {
        Long timestamp = System.currentTimeMillis();
        String stringToSign = timestamp + "\n" + DINGDING_SECRET;
        Mac mac = null;
        String sign = null;
        try {
            mac = Mac.getInstance("HmacSHA256");
            mac.init(new SecretKeySpec(DINGDING_SECRET.getBytes("UTF-8"), "HmacSHA256"));
            byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8"));
            sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8");
        } catch (Exception e) {
            throw new IllegalArgumentException("加簽處理有誤");
        }
        return "&timestamp=" + timestamp + "&sign=" + sign;
    }

3、按照釘釘要求整理json數(shù)據(jù)結(jié)構(gòu)

如果phone為null則發(fā)送普通消息,不為空則發(fā)送給特定的人

   private JSONObject buildDingDingMessage(String phone, String message) {
        //2、按要求配置參數(shù)格式
        JSONObject json = new JSONObject();
        json.put("msgtype", "text");
        json.put("text", new JSONObject() {{
            put("content", message);
        }});
        if (!UtilString.isBlank(phone)) {
            ArrayList<String> list = new ArrayList<>();
            list.add(phone);
            json.put("at", new JSONObject() {{
                put("atMobiles", list.toArray());
            }});
        }
        return json;
    }
    @Override
    public void doSendMessage(String phone, String message) {
        //1、檢查數(shù)據(jù)
        if (UtilString.isBlank(message)) {
            throw new IllegalArgumentException("請輸入釘釘服務(wù)機器人要輸出的信息");
        }
        //2、配置釘釘信息
        JSONObject  json = buildDingDingMessage(phone, message);
        //3、請求
        String url = URL + getSign();
        String responseText = HttpClient.textBody(url)
                .json(json.toJSONString())
                .connectTimeout(60)
                .readTimeout(5 * 60)
                .writeTimeout(5 * 60)
                .asString();
//無錯則不發(fā)送日志消息
        JSONObject responseJson = JSON.parseObject(responseText);
        if (!responseJson.getString("errmsg").equals("ok")) {
            log.error(responseJson.getString("errmsg"));
        }
    }

到此這篇關(guān)于java通過釘釘機器人發(fā)消息的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)java 釘釘機器人發(fā)消息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java數(shù)組高級算法與Arrays類常見操作小結(jié)【排序、查找】

    Java數(shù)組高級算法與Arrays類常見操作小結(jié)【排序、查找】

    這篇文章主要介紹了Java數(shù)組高級算法與Arrays類常見操作,結(jié)合實例形式總結(jié)分析了Java數(shù)組常見的排序算法、查找算法相關(guān)原理、實現(xiàn)與使用技巧,需要的朋友可以參考下
    2019-03-03
  • Java實現(xiàn)月餅的制作、下單和售賣功能

    Java實現(xiàn)月餅的制作、下單和售賣功能

    這篇文章主要介紹了Java實現(xiàn)月餅的制作、下單和售賣,借此機會,我們用Lambda實現(xiàn)一遍月餅制作,下單,售賣的開發(fā)設(shè)計模式,主要有制作月餅的工廠模式,結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • java得到某年某周的第一天實現(xiàn)思路及代碼

    java得到某年某周的第一天實現(xiàn)思路及代碼

    某年某周的第一天,此功能如何使用java編程得到呢?既然有了問題就有解決方法,感興趣的朋友可以了解下本文,或許會給你帶來意想不到的收獲哦
    2013-01-01
  • Java編程實現(xiàn)swing圓形按鈕實例代碼

    Java編程實現(xiàn)swing圓形按鈕實例代碼

    這篇文章主要介紹了Java編程實現(xiàn)swing圓形按鈕實例代碼,涉及兩個簡單的Java實現(xiàn)按鈕的代碼,其中一個具有偵測點擊事件的簡單功能,具有一定借鑒價值,需要的朋友可以參考。
    2017-11-11
  • Maven優(yōu)雅的添加第三方Jar包的方法

    Maven優(yōu)雅的添加第三方Jar包的方法

    下面小編就為大家?guī)硪黄狹aven優(yōu)雅的添加第三方Jar包的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java的鎖機制:synchronized和CAS詳解

    Java的鎖機制:synchronized和CAS詳解

    這篇文章主要介紹了Java的鎖機制synchronized和CAS詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • 基于Springboot的漫畫網(wǎng)站平臺設(shè)計與實現(xiàn)

    基于Springboot的漫畫網(wǎng)站平臺設(shè)計與實現(xiàn)

    本文將基于Springboot實現(xiàn)開發(fā)一個漫畫主題的網(wǎng)站,實現(xiàn)一個比漂亮的動漫連載的網(wǎng)站系統(tǒng),界面設(shè)計優(yōu)雅大方,比較適合做畢業(yè)設(shè)計和課程設(shè)計使用,需要的可以參考一下
    2022-08-08
  • idea直接修改新的git地址的方法(圖文)

    idea直接修改新的git地址的方法(圖文)

    這篇文章主要介紹了idea直接修改新的git地址的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 關(guān)于yml文件字符串,List,Map的書寫方式并使用@ConfigurationProperties注入配置類

    關(guān)于yml文件字符串,List,Map的書寫方式并使用@ConfigurationProperties注入配置類

    這篇文章主要介紹了關(guān)于yml文件字符串,List,Map的書寫方式并使用@ConfigurationProperties注入配置類,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot Druid配置過程圖解

    SpringBoot Druid配置過程圖解

    這篇文章主要介紹了SpringBoot Druid配置過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03

最新評論