微信开发,access_token,时间上没有过期,但已失效的问题
做微信开发的人都知道,access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token,我前几天做项目的时候,偶尔会有好多用户的信息获取不到,还有生成二维码报错,打印log才发现,access_token已经失效,但access_token的有效期是7200S也就是两个小时,但我的token失效的时候才30分钟左右,其他地方也没有单独调用获取token的接口,让人匪夷所思。
实在没有办法了,只能用一个迂回的招,就是调用微信一个没有次数限制的接口,把access_token传过去,接受返回值判断token的有效性。
首先是判断token的有效期
然后重点来了,当token没有过期,但已经失效的情况怎么办呢。
IPtest iptest = new IPtest();
iptest = WXJSONHelper.ParseFromJson<iptest>(ip);
string errorcode = iptest.errcode;
if (errorcode != null)
{
string token = GetAccess_token().access_token;//获取最新的access_token
//将新的token存入进数据库
string startDate = getTimestamp();
string endDate = (Convert.ToInt32(startDate) + 6000) + "";
Boolean t = access_tokenDao.refreshToken(token, startDate, endDate, "7200");
return token;
}
return result;
}
</iptest>
差不多就这样吧,第一次写。。。
微信开发,access_token,时间上没有过期,但已失效的问题
原文:http://blog.csdn.net/zhangxc0310/article/details/51328840