cdr做图时怎么找到网站的,html手机版下载,百度网站权重排名,app项目开发教程在企业开发中#xff0c;经常会碰到一些消息要及时推送到企业员工的手中。so 下面来说怎么向企业微信中的员工发消息。本人只是记录下开发过程#xff0c;详细参考https://work.weixin.qq.com/api/1.准备注册企业微信公司获取企业ID新开企业微信应用获取应用的Agentid#x…在企业开发中经常会碰到一些消息要及时推送到企业员工的手中。so 下面来说怎么向企业微信中的员工发消息。 本人只是记录下开发过程详细参考https://work.weixin.qq.com/api/1.准备注册企业微信公司获取企业ID新开企业微信应用获取应用的AgentidSecret参考:https://work.weixin.qq.com/api/doc/90000/90135/906652.开发应用支持推送文本、图片、视频、文件、图文等类型。以下以推送文本为例。1)获取access_token请求方式GET(HTTPS)请求地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpidIDcorpsecretSECRETID :企业id SECRET应用的凭证密钥(Secret)返回结果如下我们需要记录access_token{ errcode: 0, errmsg: ok, access_token: 3YY3ZRP-nl3s25idin-Qay5bOL5503uzqz45OKFtd7R1E8AE40I3paB8v7wzeWucH8nS9y-95eJzivzEbRKHgBurmAwPZ6AkU4mDuiXSSl5S8v6Keal3_MRF5BxheLRfEThR5LFBFOE9PZluB4Z_JvdRUluNfWKKCqMUL0xwAnJ1bs2OuDVsdLeMiO5hQcl94diHsENz2O1T3_C5WRvp1w, expires_in: 7200}注access_token的有效期大概2小时左右。每天获取access_token的次数也是有限的(大概200次左右)所以下面可以写个公共类WechatService.javaServicepublic class WechatService{ private static org.apache.log4j.Logger logger Logger.getLogger(WechatService.class); RestTemplate client new RestTemplate(); private RestTemplate restTemplate RestTemplateUtil.getInstance(); private static AccessToken at ; Value(${appId}) private String appId; Value(${appSecret}) private String appSecret; //向外暴露获取accessToken public String getAccessToken() { if(atnull||at.isExpired()){ getToken(); } if(at!null){ return at.getAccessToken(); } return null; } //私有 private void getToken(){ String accessTokenUrl https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpidappId corpsecretappSecret; logger.debug(URL for getting accessToken accessTokenUrlaccessTokenUrl); Map rtnMap restTemplate.getForObject(accessTokenUrl, Map.class); if(rtnMap!null){ Integer errcode (Integer)rtnMap.get(errcode); logger.debug(GETToken errcode:errcode); if(errcode0){ String accessToken (String)rtnMap.get(access_token); logger.debug(accessToken:accessToken); Integer expiresIn (Integer)rtnMap.get(expires_in); //创建token对象并保存 at new AccessToken(accessToken, expiresIn); } } }}RestTemplateUtil.javapublic class RestTemplateUtil { public static RestTemplate getInstance() { RestTemplate restTemplate new RestTemplate(); restTemplate.getMessageConverters().add(new WxConverter()); return restTemplate; }}WxConverter.javapublic class WxConverter extends MappingJackson2HttpMessageConverter { public WxConverter(){ List mediaTypes new ArrayList(); mediaTypes.add(MediaType.TEXT_PLAIN); mediaTypes.add(MediaType.TEXT_HTML); setSupportedMediaTypes(mediaTypes); }}AccessToken.javapublic class AccessToken { private String accessToken;//token private Long expiresTime;//过期时间 时间戳 public String getAccessToken() { return accessToken; } public void setAccessToken(String accessToken) { this.accessToken accessToken; } public Long getExpiresTime() { return expiresTime; } public void setExpiresTime(Long expiresTime) { this.expiresTime expiresTime; } public AccessToken(String accessToken,Integer expiresIn){ super(); this.accessToken accessToken; this.expiresTime System.currentTimeMillis()expiresIn*1000; } /** * 判断当前token是否过期 * return */ public Boolean isExpired(){ return System.currentTimeMillis()expiresTime; }}以上的代码本人认为是比较麻烦的so 全部记录下来了2)发送消息正文请求方式POST(HTTPS)请求地址https://qyapi.weixin.qq.com/cgi-bin/message/send?access_tokenACCESS_TOKENACCESS_TOKEN是上面GET请求得到的请求示例{ touser : UserID1|UserID2|UserID3, toparty : PartyID1|PartyID2, totag : TagID1 | TagID2, msgtype : text, agentid : 1, text : { content : 第一次发送成功啦 }, safe:0, enable_id_trans: 0, enable_duplicate_check: 0}touser发送的人可多个msgtype类型content主题内容......其他不是必填字段可以自己去看官方文档吧。返回示例 { errcode : 0, errmsg : ok, invaliduser : userid1|userid2, invalidparty : partyid1|partyid2, invalidtag: tagid1|tagid2 }errcode0 代表发送成功了有些地方不是很详细作为自己以后工作参考用。。。还是建议大家多去官网看看API文采不好请多包涵