public static void test() { AccessToken at = AccessTokenApi.getAccessToken(); if (at.isAvailable()) System.out.println("access_token : " + at.getAccessToken()); else System.out.println(at.getErrorCode() + " : " + at.getErrorMsg()); at = AccessTokenApi.getAccessToken(); if (at.isAvailable()) System.out.println("access_token : " + at.getAccessToken()); else System.out.println(at.getErrorCode() + " : " + at.getErrorMsg()); at = AccessTokenApi.getAccessToken(); if (at.isAvailable()) System.out.println("access_token : " + at.getAccessToken()); else System.out.println(at.getErrorCode() + " : " + at.getErrorMsg()); }
/** 从缓存中获取 access token,如果未取到或者 access token 不可用则先更新再获取 */ public static AccessToken getAccessToken() { String corpId = ApiConfigKit.getApiConfig().getCorpId(); AccessToken result = accessTokenCache.get(corpId); if (result != null && result.isAvailable()) return result; refreshAccessToken(); return accessTokenCache.get(corpId); }
private static synchronized AccessToken requestAccessToken() { AccessToken result = null; ApiConfig ac = ApiConfigKit.getApiConfig(); for (int i = 0; i < 3; i++) { String appId = ac.getAppId(); String appSecret = ac.getAppSecret(); Map<String, String> queryParas = ParaMap.create("appid", appId).put("secret", appSecret).getData(); String json = HttpKit.get(url, queryParas); result = new AccessToken(json); if (result.isAvailable()) break; } return result; }
public static AccessToken getAccessToken() { if (accessToken != null && accessToken.isAvailable()) return accessToken; refreshAccessToken(); return accessToken; }