1.access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token,所以这个数据是非常的重要的,首先阅读以下微信开发文档,对于access_token是这样写的。
根据文档的指示,我们的access_token的需求如下:单一获取和刷新access_token的值,全局保存,用到的都去这个地方去拿。定时去刷新(现在是2个小时刷新一次)
2.我们使用redis来全局缓存access_token的值,需要用到access_token的时候就去redis当中去取。并且,这个值每两个小时刷新一次。
//刷新access_token 100分钟刷新一次,服务器启动的时候刷新一次(access_token有效期是120分钟,我设置的是每100分钟刷新一次)
@Scheduled(initialDelay = 1000, fixedDelay = 100*60*1000)
public void get_access_token() {
try {
String appid = "填上你公众号的appid";
String appsecret = "填上你公众号的appsecret";
String requestUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
requestUrl = requestUrl.replace("APPID",appid).replace("APPSECRET",appsecret);
JSONObject jsonObject = CommonUtil.httpsRequest(requestUrl,"GET",null);
if(jsonObject.getString("access_token")!=null){
Jedis jedis = jedisPool.getResource();
try {