/**
* 获取access_token
* // 获取access_token的接口地址(GET) 限2000(次/天)
* @param appid 凭证
* @param appsecret 密钥
* @return
*/
public static AccessToken accessToken() {
AccessToken accessToken = null;
String access_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
String requestUrl = access_token_url.replace("APPID", Baseutils.APPID).replace("APPSECRET", Baseutils.APPSECRET);
JSONObject jsonObject = httpRequest(requestUrl, "GET", null);
if (null != jsonObject) {// 如果请求成功
try {
accessToken = new AccessToken();
accessToken.setToken(jsonObject.getString("access_token"));
accessToken.setExpiresIn(jsonObject.getInt("expires_in"));
} catch (JSONException e) {
accessToken = null;// 获取token失败
log.error(jsonObject.getString("获取token失败 errcode:{"+ jsonObject.getInt("errcode")+"} errmsg:{"+jsonObject.getString("errmsg"))+"}");
}
}
return accessToken;
}
/**
*
* accessToken:(ACCESS_TOKEN长期有效).
*
* @author hankeqi
* @param @return 设定文件
* @throws String DOM对象
* @since JDK 1.7
*/
public static String getAccessToken() {
String token = "";
int seconds = 7200;
try {
token = RedisClient.get(CacheKeyUtil.WECHATAACCESSTOKEN);
if (Baseutils.isEmpty(token)) {
token = accessToken().getToken();
seconds = accessToken().getExpiresIn();
RedisClient.putTimeOut(CacheKeyUtil.WECHATAACCESSTOKEN,seconds, token);
}
log.info("/*****************redis获取token=" + token+ "*************************/");
} catch (Exception e) {
if (Baseutils.isEmpty(token)) {
token = accessToken().getToken();//腾讯获取 不是长期有效的
log.error("/*****************redis服务器未开启,请运维人员去服务器开启redis服务器!*************************/",e);
}
}
return token;
}