由于本项目中使用自定义菜单接口、获取用户信息接口、用户分组接口、消息发送接口等,都需要传入一个相同的参数access_token,其有效期是7200秒(两小时),在有效期内可以使用,一旦access_token过期,需要重新通过调用微信接口获取。目前微信接口上面获取access_token每日限额为2000次,如果Oauth2.0授权、发送主动消息、获取用户信息、群发信息之前都去获取,必然会达到该接口的频率限制,因此需要把获取到的access_token存储起来,然后设置有效期,在有效期过期后再去获取,以保证access_token实时的有效性。详细代码如下:
a. 新建xml文件,命名为XMLToken.xml。
<?xml version="1.0" encoding="utf-8"?>
<xml>
<AccessToken></AccessToken>
<AccessExpires></AccessExpires>
</xml>
b. AccessToken实体结构如下:
public class AccessToken
{
public stringaccess_token { get; set;}
public int expires_in{ get; set; }
}
c. 获取AccessToken()和getJson()方法如下: