順便說一下微信公共測試號的申請,不需要準備任何材料,除了部分需要認證的接口,大部分都可以調用,提供一下鏈接
一、什麼是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;
}
緩存方法:略