欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java通過(guò)釘釘機(jī)器人發(fā)消息的實(shí)現(xiàn)示例

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

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

注意:內(nèi)部群才可以創(chuàng)建自定義機(jī)器人
釘釘網(wǎng)址-自定義機(jī)器人創(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("請(qǐng)輸入釘釘服務(wù)機(jī)器人要輸出的信息");
        }
        //2、配置釘釘信息
        JSONObject  json = buildDingDingMessage(phone, message);
        //3、請(qǐng)求
        String url = URL + getSign();
        String responseText = HttpClient.textBody(url)
                .json(json.toJSONString())
                .connectTimeout(60)
                .readTimeout(5 * 60)
                .writeTimeout(5 * 60)
                .asString();
//無(wú)錯(cuò)則不發(fā)送日志消息
        JSONObject responseJson = JSON.parseObject(responseText);
        if (!responseJson.getString("errmsg").equals("ok")) {
            log.error(responseJson.getString("errmsg"));
        }
    }

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    Java的鎖機(jī)制:synchronized和CAS詳解

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

    基于Springboot的漫畫(huà)網(wǎng)站平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

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

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

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

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

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

    SpringBoot Druid配置過(guò)程圖解

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

最新評(píng)論