顺便说一下微信公共测试号的申请,不需要准备任何材料,除了部分需要认证的接口,大部分都可以调用,提供一下链接
一、什么是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;
}
缓存方法:略