调用钉钉内部接口发送工作内容消息,demo程序

介绍:
本文将讨论如何使用Java发送钉钉消息。钉钉是由阿里巴巴开发的流行的沟通和协作平台,用户可以通过该平台发送消息、进行视频通话和分享文件。

前提条件:
在开始之前,请确保你具备以下条件:

钉钉应用的App Key
钉钉应用的App Secret
接收者的用户ID
步骤1:获取Access Token

  //登录获取token,这里可以存数据库判断时间是否过期
            DingTalkClient clientToken = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
            OapiGettokenRequest reqToken = new OapiGettokenRequest();
            //应用的key
            reqToken.setAppkey("xxxx");
            //应用的秘钥
            reqToken.setAppsecret("xxxxxx");
            reqToken.setHttpMethod("GET");
            OapiGettokenResponse rspToken = clientToken.execute(reqToken);
            System.out.println(rspToken.getBody());
            Map<String, Object> tranMap = mapStringToMap(rspToken.getBody());



步骤2:发送消息
一旦获得了Access Token,你可以使用它向指定的接收者发送消息。

   //判断token是否成功返回
            if ("ok".equals(tranMap.get("errmsg")))
            {
                //设置token
                DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
                OapiMessageCorpconversationAsyncsendV2Request req = new OapiMessageCorpconversationAsyncsendV2Request();
                req.setAgentId(2721758891L);
                //目前是xx和xxUSERID,可以从数据库配置发送人的userid
                req.setUseridList("5425296519689947,49403856461219104");
                req.setToAllUser(false);
                OapiMessageCorpconversationAsyncsendV2Request.Msg obj1 = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
                obj1.setMsgtype("text");
                OapiMessageCorpconversationAsyncsendV2Request.Text obj2 = new OapiMessageCorpconversationAsyncsendV2Request.Text();
                obj2.setContent("WMS系统日志报错信息:2023-08-28 15:48:35 474\t{uuid:748569659262894080,bizData:{\"Result\":1,\"Message\":null,\"Details\":[{\"Result\":0,\"Message\":\"值不能为 null。\\r\\n参数名: key\",\"LocationId\":null,\"LightColor\":96,\"Twinkle\":0,\"IsLocked\":0,\"IsMustCollect\":1,\"Quantity\":0,\"SubText\":null,\"BatchCode\":null,\"Name\":null,\"R1\":null,\"R2\":null,\"R3\":null,\"SubTitle\":null,\"Title\":null,\"Unit\":null,\"RelateToTower\":true,\"LeftDown\":null}]}}");
                obj1.setText(obj2);
                req.setMsg(obj1);
                OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(req, tranMap.get("access_token").toString());
                System.out.println(rsp.getBody());

            }

        } catch (ApiException e) {
            e.printStackTrace();
        }

工具方法:

  public static Map<String,Object> mapStringToMap(String str){
        String strNew=str.replace("{","").replace("}","").replace("\"","");
        //根据逗号截取字符串数组
        String[] str1 = strNew.split(",");
        //创建Map对象
        Map<String,Object> map = new HashMap<>();
        //循环加入map集合
        for (int i = 0; i < str1.length; i++) {
            //根据":"截取字符串数组
            String[] str2 = str1[i].split(":");
            //str2[0]为KEY,str2[1]为值
            map.put(str2[0],str2[1]);
        }
        return map;
    }



结论:
本文讲解了如何使用Java发送钉钉消息。通过遵循所述步骤,你可以将钉钉集成到你的Java应用程序中,并自动发送消息给团队成员或客户。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值