/** * 从缓存中获取AccessToken * @param type 冗余参数(没有填"") * @return */ private static String getAccessToken(String type) { try { return accessTokenCache.get(type); } catch (ExecutionException e) { throw new RuntimeException(e); } } /** * Guava缓存 将AccessToken缓存29天 */ private static LoadingCache<String,String> accessTokenCache = CacheBuilder.newBuilder() .expireAfterWrite(CATCH_TIME, TimeUnit.DAYS) .build(new CacheLoader<String, String>() { @Override public String load(String s) throws Exception { String result = ""; //调用sendGetRequest方法发送url,并获取百度返回的结果json,处理结果 String url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=APIKEY&client_secret=SECRETKEY"; String requsetURL = url.replaceAll("APIKEY",API_KEY).replaceAll("SECRETKEY",SECRET_KEY); String response = sendPost(requsetURL,"");//发送请求 //JSON -> Map 使用fastjson工具类 Map<String,Object> map = JSON.parseObject(response, HashMap.class); if(map != null && !map.isEmpty()){ result = map.get("access_token").toString(); } return result; } });