微信开放平台【第三方平台】java开发总结:预授权码(pre_auth_code)(三)

微信预授权码详解
本文详细解析了微信第三方平台预授权码(pre_auth_code)的开发流程,包括其有效期、获取方式及存储策略,适用于希望深入理解并实施微信授权托管的开发者。

微信第三方平台预授权码(pre_auth_code)开发说明(全网最详细的微信第三方平台预授权码开发说明)

预授权码

预授权码(pre_auth_code)是第三方平台方实现授权托管的必备信息,每个预授权码有效期为 10 分钟。需要先获取令牌才能调用

请求地址:
https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=COMPONENT_ACCESS_TOKEN

请求方式:
POST

在这里插入图片描述
POST 数据示例:

{
  "component_appid": "appid_value" 
}

每个预授权码有效期为 10 分钟。需要先获取令牌才能调用,官方文档给的是10分钟,但是返回的有效期是:1800,所以我设置的是15分钟

@Scheduled(cron = "0 0/15 * * * ? ")
    private void preAuthCode() {
        logger.debug("====================开始执行定时任务获取预授权码【pre_auth_code】====================");
        try {
            String accessToken = redisTemplate.opsForValue().get("component_access_token").toString();
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("component_appid", PLATFORM_APP_ID);
            String post = OkHttpHelper.post(API_CREATE_PREAUTHCODE_URL + accessToken, JSON.toJSONString(jsonObject));
            logger.debug("====================返回post结果:" + post);
            HashMap<String, String> hashMap = JSON.parseObject(post, HashMap.class);
            String authCode = hashMap.get("pre_auth_code");
            if (StringUtils.isNotEmpty(authCode)) {
                redisTemplate.opsForValue().set("pre_auth_code", authCode, 60 * 10, TimeUnit.SECONDS);
                String preAuthCode = redisTemplate.opsForValue().get("pre_auth_code").toString();
                logger.debug("====================授权码pre_auth_code】:【" + preAuthCode + "】====================");
            } else {
                throw new RuntimeException("微信开放平台,第三方平台获取【预授权码】失败");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        logger.debug("====================结束执行定时任务获取预授权码【pre_auth_code】====================");
    }

返回结果示例:

{
  "pre_auth_code": "Cx_Dk6qiBE0Dmx4EmlT3oRfArPvwSQ-oa3NL_fwHM7VI08r52wazoZX2Rhpz1dEw",
  "expires_in": 1800
}
  • 如有疑问请私信

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

  • 下期分享微信开放平台【第三方平台】java开发总结:第三方平台授权流程说明(authorization_code)(四)
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值