微信开放平台【第三方平台】java开发总结:令牌(component_access_token)(二)

微信第三方平台令牌(component_access_token)开发说明(全网最详细的微信第三方平台令牌开发说明)

令牌

令牌(component_access_token)是第三方平台接口的调用凭据。令牌的获取是有限制的,每个令牌的有效期为 2 小时,请自行做好令牌的管理,在令牌快过期时(比如1小时50分),重新调用接口获取。

请求地址:
https://api.weixin.qq.com/cgi-bin/component/api_component_token

请求方式:
POST
在这里插入图片描述
POST 数据示例:

{
  "component_appid":  "appid_value" ,
  "component_appsecret":  "appsecret_value",
  "component_verify_ticket": "ticket_value"
}

每个令牌的有效期为 2 小时,请自行做好令牌的管理,在令牌快过期时(比如1小时50分),重新调用接口获取。这里我设置的是一小时

@Scheduled(cron = "0 0 0/1 * * ?")
    private void componentVerifyTicket() {
        logger.debug("====================开始执行定时任务获取令牌【component_access_token】====================");
        Map<String, String> reMap;
        try {
            // 核心定时器,每一个小时执行一次
            String ComponentVerifyTicket = redisTemplate.opsForValue().get("component_verify_ticket").toString();
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("component_appid", PLATFORM_APP_ID);
            jsonObject.put("component_appsecret", PLATFORM_APP_SECRET);
            jsonObject.put("component_verify_ticket", ComponentVerifyTicket);
            String post = OkHttpHelper.post(API_COMPONENT_TOKEN_URl, JSON.toJSONString(jsonObject));
            logger.debug("====================返回post结果:" + post);
            HashMap<String, String> hashMap = JSON.parseObject(post, HashMap.class);
            String componentAccessToken = hashMap.get("component_access_token");
            if (StringUtils.isNotEmpty(componentAccessToken)) {
                redisTemplate.opsForValue().set("component_access_token", componentAccessToken, 60 * 60 * 2, TimeUnit.SECONDS);
                String accessToken = redisTemplate.opsForValue().get("component_access_token").toString();
                logger.debug("====================令牌component_access_token】:【" + accessToken + "】====================");
            } else {
                throw new RuntimeException("微信开放平台,第三方平台获取【令牌】失败");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        logger.debug("====================结束执行定时任务获取令牌【component_access_token】====================");
    }

返回结果示例:

{
  "component_access_token": "61W3mEpU66027wgNZ_MhGHNQDHnFATkDa9-2llqrMBjUwxRSNPbVsMmyD-yq8wZETSoE5NQgecigDrSHkPtIYA",
  "expires_in": 7200
}

在这里插入图片描述

  • 如有疑问请私信

如果对您起到了帮助,麻烦你点个赞,你的小心心就是我继续更新博客的动力,谢谢。

  • 下期分享微信开放平台【第三方平台】java开发总结:预授权码(pre_auth_code)(三)
  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值