JAVA----公众号获取AccessToken

公众号获取AccessToken

以 AppId, AppSecret 获取AccessToken

如果使用缓存token 时,缓存过期时间最好小于公众号返回的过期时间

使用的接口地址:
"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=?&secret=?"

public static AjaxResult getAccessToken(BasePubTokenEntity entity) {
        String method = "[获取公众号微信AccessToken] ";
        Object cacheAccessToken = CacheUtils.get(CacheConstant.WE_CHAT_ACCESS_TOKEN + entity.getAppId());

        if (StringUtils.isNotNull(cacheAccessToken)) {
            log.info(method + "从缓存中获取");
            return AjaxResult.success("", cacheAccessToken);
        }

        try {
            String url = "https://api.weixin.qq.com/cgi-bin/token";
            entity.setGrantType("client_credential");

            url += "?" + UrlUtils.getUrlParamsByMap(getTokenParams(entity));

            String body = OkHttpUtils.getInstance().get(url).body().string();
            log.debug(method + "返回信息:{}", body);
            AjaxResult result = getAccessTokenResult(body);

            if (result.isError() || StringUtils.isNull(result.getData())) {
                log.error(method + ",返回信息{}", result);
                return AjaxResult.error(result.getCode(), result.getMsg());
            }

            JSONObject data = JSONObject.parseObject(result.getData() + "");

            CacheUtils.set(CacheConstant.WE_CHAT_ACCESS_TOKEN + entity.getAppId(),
                    data.getString("access_token"), (data.getInteger("expires_in") - 20));

            return AjaxResult.success("", data.get("access_token"));

        } catch (Exception e) {
            e.printStackTrace();
            log.error(method + e.getMessage());
        }

        return AjaxResult.error(-9, "获取Access Token 失败");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个开源的 Java 开发框架,它简化了基于 Java 的应用程序的开发和部署过程。而 wx-java 是一个基于 Spring Framework 开发微信公众号开发工具包,它提供了一系列简化了微信公众号开发的功能。 在 Spring Boot 中集成 wx-java 插件实例主要包括以下几个步骤: 1. 创建一个新的 Spring Boot 项目。 2. 在项目的 pom.xml 文件中添加依赖,引入 wx-java 插件的相关包,例如: ```xml <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>x.x.x</version> </dependency> ``` 注意要将 x.x.x 替换为最新的 wx-java 版本号。 3. 创建一个配置类,用于配置 wx-java 的相关配置信息,例如: ```java @Configuration public class WxConfig { @Value("${wx.mp.appId}") // 从配置文件中读取相关配置 private String appId; @Value("${wx.mp.appSecret}") private String appSecret; @Bean public WxMpInMemoryConfigStorage wxMpConfigStorage() { WxMpInMemoryConfigStorage config = new WxMpInMemoryConfigStorage(); config.setAppId(appId); config.setSecret(appSecret); // 设置其他配置信息,例如 Token、AES Key 等 return config; } @Bean public WxMpService wxMpService(WxMpInMemoryConfigStorage config) { WxMpServiceImpl service = new WxMpServiceImpl(); service.setWxMpConfigStorage(config); return service; } } ``` 4. 编写业务逻辑代码,使用 wx-java 提供的功能进行微信公众号开发,例如: ```java @RestController @RequestMapping("/wechat") public class WechatController { @Autowired private WxMpService wxMpService; @GetMapping("/accessToken") public String getAccessToken() throws WxErrorException { // 调用 wx-java 的相关方法获取 AccessToken String accessToken = wxMpService.getAccessToken(); return accessToken; } // 其他相关业务逻辑代码... } ``` 通过以上步骤,我们成功在 Spring Boot 项目中集成了 wx-java 插件,可以方便地进行微信公众号开发。当然,具体的实例还需要根据实际需求进行进一步的配置和开发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值