Java微信公众平台开发之AccessToken获取

顺便说一下微信公共测试号的申请,不需要准备任何材料,除了部分需要认证的接口,大部分都可以调用,提供一下链接

一、什么是access_token

access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效官方文档

调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功

二、获取并缓存access_token

由于一天获取access_token次数有限,不能即拿即用。官方推荐使用使用中控服务器统一获取和刷新access_token,缓存方式自行选择。

本人用的是Redis缓存Windows下安装并设置Redis

获取方法

public static final String GET_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";
/**
 * 获取授权凭证token
 * 
 * @param key 应用appid
 * @param secret 应用密匙
 * @return json格式的字符串
 */
public static String getAccessToken(String appid, String secret) {
	TreeMap<String, String> map = new TreeMap<String, String>();
	map.put("grant_type", "client_credential");
	map.put("appid", appid);
	map.put("secret", secret);
	String json = HttpReqUtil.HttpDefaultExecute(SystemConfig.GET_METHOD, WechatConfig.GET_ACCESS_TOKEN_URL, map, "");
	String result = null;
	AccessToken accessToken = JsonUtil.fromJsonString(json, AccessToken.class);
	if (accessToken != null) {
		result = accessToken.getAccess_token();
	}
	return result;
}

缓存方法:略

详细源码



posted @ 2017-03-21 20:53  phil_jing  Views(99)  Comments(0Edit  收藏  举报