集成企业微信

本文讲述了如何通过企业微信实现对代码仓库分支创建合规性检查的实时提醒,介绍了使用群机器人和企业微信应用两种方式,以及Java代码示例,包括获取access_token和发送文本消息的过程。
摘要由CSDN通过智能技术生成

背景

        

        最近在做一个代码仓库分支创建合规性检查的过程中,需要将不符合合规性的创建信息实时提醒到创建人,除了邮件,内部企业微信成为了第一首选。

优势

        1.实时提醒项目参与人员项目信息的更新情况

        2.便于查看

 配置

    方式一:群机器人

        1.创建企业微信群

        2.点击群标签

        3.添加群机器人,并填写机器人信息

输入机器人名称

复制Webhook地址,此处webhook地址将用来用于程序集成企业微信的参数

    方式二:企业微信应用

1.CorpId

这个是每个企业独有的企业ID(图为盗图)

 2.agentId 和 secret

agentId 相当于是应用ID,secret就理解成key
可以自己创建个应用,然后绑定到相关部门或者具体到人(图为盗图)
在这里插入图片描述
在这里插入图片描述

  

java集成企业微信

企业微信应用基本信息: 

wechat.baseUrl=https://qyapi.weixin.qq.com/cgi-bin

wechat.corpid=wwfg41bddf185ad714851

wechat.corpsecret=dgg6DsTP3QmEM-Y06SqrZghB06OAk6WfKhfumEGCY16ew1

wechat.agentid=1000073

public static final String GET_TOKEN = "/gettoken";
public static final String SEND_MSG = "/message/send";
private String getSendMsgFullUrl(String token) {
        Assert.notNull(token, "token is null,Authentication failed." );
        return baseUrl + WechatMethodConstant.SEND_MSG + "?access_token=" + token;
  }
/**
* 获取登陆token
* @return token
*/
public String getAccessToken(){
    // 优先从redis缓存中获取, 获取不到在调用api获取
    String token = (String) redisClient.get("wechatAccessToken");
    if(StringUtils.isNotEmpty(token)){
        return token;
    }
    RestTemplate http = new RestTemplate();
    String urlToken = baseUrl + WechatMethodConstant.GET_TOKEN + "?corpid=" + corpid +         "&corpsecret=" + corpsecret;
    log.info("getAccessToken Url:{}", urlToken);
    ResponseEntity<TokenResult> forEntity = http.getForEntity(urlToken, TokenResult.class);
    if(ObjectUtils.isNotEmpty(forEntity)) {
        TokenResult body = forEntity.getBody();
        if (ObjectUtils.isNotEmpty(body)) {
            String accessToken = body.getAccess_token();
        if (StringUtils.isNotEmpty(accessToken)) {
            // 加入缓存
            redisClient.set("wechatAccessToken", accessToken,                   ObjectUtils.isNotEmpty(body.getExpires_in()) ? body.getExpires_in() : 7000L);
        }
        return accessToken;
        }
    }
    return null;
}
 public MsgResult sendTextTypeMsg(String token, String toUserId, String content){
        String msgUrl = getSendMsgFullUrl(token);
        RestTemplate http = new RestTemplate();
        MsgRequestDto requestData = new MsgRequestDto();
        requestData.setAgentid(agentId);
        requestData.setTouser(toUserId);
        requestData.setMsgtype(WechatMsgTypeConstant.TEXT_MSG_TYPE);
        Map<String, String> text = new HashMap<>();
        text.put(WechatMsgTypeConstant.TEXT_KEY, content);
        requestData.setText(text);
        ResponseEntity<MsgResult> postForEntity = http.postForEntity(msgUrl, requestData, MsgResult.class);
        if(ObjectUtils.isNotEmpty(postForEntity) && ObjectUtils.isNotEmpty(postForEntity.getBody())){
            return postForEntity.getBody();
        }
        return null;
    }
​
{

  "touser": "用户id_1|用户id_2",

  "msgtype": "text",

  "agentid": agent id,

  "text": {

    "content": "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"

  },

  "safe": 0,

  "enable_id_trans": 0,

  "enable_duplicate_check": 0

}

​

 

输出结果:

你的快递已到,请携带工卡前往邮件中心领取。
出发前可查看邮件中心视频实况,聪明避开排队

说明:

     如果是公司内部网络,需要申请it增加网络权限,创建企业微信应用,然后提供不可少的配置西信息:

  • corpid(企业ID):wwfg41bddf185ad714851
  • corpsecret:dgg6DsTP3QmEM-Y06SqrZghB06OAk6WfKhfumEGCY16ew1
  • agent id:1000073

curl -s -G "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwfg41bddf185ad714851&corpsecret=dgg6DsTP3QmEM-Y06SqrZghB06OAk6WfKhfumEGCY16ew1"


curl -H "Content-Type:application/json" -X POST -d "{\"touser\": \"2253|2065\",\"msgtype\": \"text\",\"agentid\": 1000073,\"text\": {\"content\": \"你的快递已到,请携带工卡前往邮件中心领取。\\n出发前可查看<a href=\\\"http://work.weixin.qq.com\\\">邮件中心视频实况</a>,聪明避开排队。\"},\"safe\": 0,\"enable_id_trans\": 0,\"enable_duplicate_check\": 0}" https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=NxN_8sN6yGjDX032hvEfavCXtwAJrHmzWsHg56ggf_--1oc8Gl4945EqjdUMLfrx5UHEdnS-ljf73lfsehsxzLZKJUgqFXmfCuYcFoo2p-JA_76w1tpWlluQeLVrW2OWeICyrrqecBFaWx6GHe-rcR0sjKiV92n6_fpzjBsiwlbSr6-iEXG9yCM7r-nzYRxcuOAWbTdsdfsfgJh_5T55dHOJg

参考文档:发送应用消息 - 接口文档 - 企业微信开发者中心icon-default.png?t=N7T8https://developer.work.weixin.qq.com/document/path/90236

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值