大家都知道,微信中调用订阅用户接口中需要Access_token,而根据微信官方文档中说明:
access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效
所以这就导致我们每次去获取订阅用户相关信息的时候都去重新取access_token。这就造成两个问题。
1. 慢,因为取access_token是远程在腾讯提供的API网址上,所以会有一定的延迟。
2. 访问次数越多,超出接口调用限制,会被腾讯限制。我就遭过。后来查API手册才知道有这句话:
默认每个公众帐号都不能超过下面的频率限制。 当超出调用接口频率限制,调用对应接口将会收到如下错误信息:
{"errcode":45009,"errmsg":"api freq out of limit"}
接口名称 频率限制
获取凭证接口 200(次/天)
自定义菜单创建接口 100(次/天)
自定义菜单查询接口 1000(次/天)
自定义菜单删除接口 100(次/天)
所以针对此问题,我想出了用文本文件或XML来存取动态的access_token。反正2小时才过期,写入又不频繁。当然你也可以存取到数据库。
同样的我用到了SAE的Storage