0
点赞
收藏
分享

微信扫一扫

access_token is invalid or not latest rid?

分湖芝蘭 2022-03-18 阅读 65
java

记录一个在获取微信小程序手机号的异常

在获取了access_token后 获取电话号码一直报 access_token失效

要把链接中的ACCESS_TOKEN 替换成我们获取的access_token  post请求 参数只传code就可以了, 并且参数要用raw的方式传  

上代码

        String accessToken = (String) redisUtils.get("Access_token");
        if (StringUtils.isBlank(accessToken)) {
            //获取Access_token
            WechatTokenResponse response = restTemplate.getForObject(WechatConstants.getTokenUrl(), WechatTokenResponse.class);
            if (response == null || response.getAccess_token() == null) {
                throw new RemoteLinkException("获取小程序Access_token异常");
            }
            accessToken = response.getAccess_token();
            log.info("获取小程序Access_token成功" + response);
            redisUtils.set("Access_token", accessToken, response.getExpires_in());
        }
        Map<String, String> paramMap = new HashMap<>();
        paramMap.put("code",code);
        HttpHeaders headers = new HttpHeaders();
        HttpEntity<Map<String, String>> httpEntity = new HttpEntity<>(paramMap,headers);
        String url = WechatConstants.getPhoneNumberUrl().replace("ACCESS_TOKEN", accessToken);
        WechatPhoneResponse wechatPhoneResponse = restTemplate.postForEntity(url, httpEntity, WechatPhoneResponse.class).getBody();
举报

相关推荐

0 条评论