一、環境參考整理
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;
}
}
後面待整理完善…