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;
}

緩存方法:略

詳細源碼



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章