public AccessTokenResp getMiniProgramAccessToken() {
try {
AuthorizeAccessTokenReq req = new AuthorizeAccessTokenReq().setAppid(properties.getMiniProgramAppId()).setSecret(properties.getMiniProgramAppSecret());
log.info("[WechatRemoteService.getMiniProgramAccessToken] req : {}", JSON.toJSONString(req));
AccessTokenResp accessTokenResp = restTemplate.postForObject(properties.getAuthorizeAccessToken(), req, AccessTokenResp.class);
log.info("[WechatRemoteService.getMiniProgramAccessToken] resp: {}", JSON.toJSONString(accessTokenResp));
return accessTokenResp;
} catch (Exception e) {
log.error("[WechatRemoteService.getMiniProgramAccessToken] throw exception : {}", e.getMessage(), e);
return null;
}
}
这代码能看出来调用频率?一天2000次,加上缓存,一天几十次,还能报错?
每次用户用就请求,再多次数都没用。一个accesstoken有效期是2小时,但是一旦再请求,上一个就失效。你需要把accesstoken缓存,定时任务1到1.5小时请求一次。
每个api每天都有调用频率限制的,可以通过api:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/openApi-mgnt/getApiQuota.html查询。
通过api:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/openApi-mgnt/clearQuota.html,重置当前调用频率。
微信提示信息如下:
{ "accessTokenTimeOut": false, "errcode": 45009, "errmsg": "reach max api daily quota limit rid: 67319658-6bdf12f9-2ecb8196", "success": false }