一、环境参考整理
1.1 参考官方文档
企业微信官方api文档
通过官方文档,对企业微信开发的一些重要参数进行理解以及一些基本api进行分析。
二、常用api整理和代码
2.1获取Token
/**
* 获取 access_token
* @param corpid
* @param corpsecret
* @return access_token
*/
public String getAccessToken(String corpid,String corpsecret){
String urlGet = companyWeiXinApiConfig.getTokenGet()+"?corpid="+corpid+"&corpsecret="+corpsecret;
logger.info("请求地址是:{}",urlGet);
// 1、https get请求
String resultStr = restTemplate.getForObject(urlGet, String.class);
// 2、返回的string转json并获取token
Gson gson = new Gson();
Map<String, Object> map = gson.fromJson(resultStr, new TypeToken<Map<String, Object>>() {}.getType());
logger.info("获取的token接口所有信息是:{}",map);
return map.get("access_token").toString();
}
2.2 发送应用消息
------------------------------------------<1> 创建PostBody接口主要方法--------------------------------------------
/**
* 创建POST BODY 并转换成json字符串类型返回
* @param toUser
* @param msgType
* @param agentId
* @param contentValue
* @return
*/
public String createPostData(String toUser,String msgType,int agentId,String contentValue){
TextMessages textMessages = new TextMessages();
textMessages.setTouser(toUser);
textMessages.setAgentid(agentId);
textMessages.setMsgtype(msgType);
Gson gson = new Gson();
textMessages.setText(new Text(contentValue));
System.out.println(gson.toJson(textMessages));
return gson.toJson(textMessages);
}
------------------------------------------<2> 创建发送应用消息接口的主要方法--------------------------------------------
/**
* 发送应用消息
* @param bodyJsonData
* @param accessToken
* @return
*/
public String sendPost(String bodyJsonData, String accessToken){
try{
// 1.构建请求头
HttpHeaders headers = new HttpHeaders();
logger.info("当前accessToken:{}",accessToken);
headers.setContentType(MediaType.APPLICATION_JSON);
logger.info("要发送的bodyJsonData数据是:{}",bodyJsonData);
HttpEntity<String> request = new HttpEntity<>(bodyJsonData, headers);
// 2.获取请求的url
String sendMessageUrl = companyWeiXinApiConfig.getAgentMsgSend() + accessToken;
logger.info("将要发送请求的url地址:{}",sendMessageUrl);
// 3.发送请求 返回json实体
ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(sendMessageUrl,request,JSONObject.class);
String resultJsonData = JSON.toJSONString(responseEntity);
logger.info("请求后返回的json数据:{}",resultJsonData);
return resultJsonData;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
后面待整理完善…