Java tutorial
/** * Copyright (c) 2011-2014, James Zhan (jfinal@126.com). * * Licensed under the Apache License, Version 2.0 (the "License"); */ package com.jfinal.weixin.sdk.api; import java.util.Map; import com.fasterxml.jackson.databind.ObjectMapper; /** * ? access_token */ public class AccessToken { private String access_token; // ? access_token private Integer expires_in; // ? access_token private Integer errcode; // private String errmsg; // private Long expiredTime; // ? access_token private String json; public AccessToken(String jsonStr) { this.json = jsonStr; try { @SuppressWarnings("rawtypes") Map map = new ObjectMapper().readValue(jsonStr, Map.class); access_token = (String) map.get("access_token"); expires_in = (Integer) map.get("expires_in"); errcode = (Integer) map.get("errcode"); errmsg = (String) map.get("errmsg"); if (expires_in != null) expiredTime = System.currentTimeMillis() + ((expires_in - 5) * 1000); } catch (Exception e) { throw new RuntimeException(e); } } public String getJson() { return json; } public boolean isAvailable() { if (expiredTime == null) return false; if (errcode != null) return false; if (expiredTime < System.currentTimeMillis()) return false; return access_token != null; } public String getAccessToken() { return access_token; } public Integer getExpiresIn() { return expires_in; } public Integer getErrorCode() { return errcode; } public String getErrorMsg() { if (errcode != null) { String result = ReturnCode.get(errcode); if (result != null) return result; } return errmsg; } }