http://115.159.110.224:81/ivi/sys/myhref_viewThis.do?f_gid=A6AA8BD3BF3B460F82E34BCDB9A65589&f_type=ly
acctoken存储方案
参考网址:http://download.csdn.net/detail/lyq8479/7300501
http://blog.csdn.net/wgyscsf/article/details/51078372
个人建议:使用数据库保存,有利于服务多个公众平台。
使用文件保存:
/**
* 获取微信AccessToken
* 根据当前日期计算并判断AccessToken是否过期,如果过期更新并返回新的AccessToken
* @return
*/
@SuppressWarnings("unchecked")
public String isExistAccessToken() {
String accessTokenStr = null;
// 读取XML文件中的数据
String filePath = getFilePath("token.xml");
try {
Document document = new SAXReader().read(filePath);
// 将解析结果存储在HashMap中
Map<String, String> map = new HashMap<String, String>();
// 得到xml根元素
Element root = document.getRootElement();
// 得到根元素的全部子节点
List<Element> elementList = root.elements();
// 遍历全部子节点
for (Element e : elementList) {
map.put(e.getName(), e.getText());
}
accessTokenStr = map.get("AccessToken");
String lastTime = map.get("AccessExpires");
Date now = new Date();
Date accessExpires = DateUtils.StringToDate(lastTime,"yyyy-MM-dd HH:mm:ss");
if (now.getTime()>accessExpires.getTime()){
AccessToken accessToken = getAccessToken();
accessExpires = new Date(now.getTime() + 7200000);
String nextTime = DateUtils.DateToString(accessExpires,"yyyy-MM-dd HH:mm:ss");
accessTokenStr = accessToken.getAccessToken();
root.selectSingleNode("AccessToken").setText(accessTokenStr);
root.selectSingleNode("AccessExpires").setText(nextTime);
XMLWriter writer = new XMLWriter(new FileWriter(new File(filePath)));
writer.write(document);
writer.flush();
writer.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return accessTokenStr;
}
我的微信公众号:my528xx
公众号二维码: