Skip to content

Dinger 3.1 飞书群机器人使用注意说明

Jaemon edited this page May 29, 2022 · 3 revisions
  1. 使用飞书群机器人签名校验安全设置时,需要重新设置签名算法
    @Bean
    public DingerSignAlgorithm dingerSignAlgorithm() {
        return (DingerSignAlgorithm<SignResult>) secret -> {
            // 注意这里是秒级时间戳
            Long timestamp = System.currentTimeMillis() / 1000;

            // 把timestamp+"\n"+密钥当做签名字符串
            String stringToSign = timestamp + "\n" + secret;

            // 使用HmacSHA256算法计算签名
            Mac mac = Mac.getInstance("HmacSHA256");
            mac.init(new SecretKeySpec(stringToSign.getBytes(StandardCharsets.UTF_8), "HmacSHA256"));
            byte[] signData = mac.doFinal(new byte[]{});

            String sign = new String(Base64.encodeBase64(signData));

            return new SignResult(sign, timestamp);
        };
    }

 

  1. 由于飞书发送文本消息时'@'指定成员不是使用的手机号,因此phones属性值填写上与钉钉和企业微信会有所差异. 格式填写说明:phones = {"用户id1,用户名称1", "用户id2,用户名称2"}