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

2023-11-01

微信第三方平台预授权码(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)(四)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • C语言实现四则运算(小型计算器)

    如果有更好的想法 随时欢迎私我 include
  • 阿里云WordPress建网站的方法

    云虚拟主机应用于各种建站场景 可以简单 低成本地进行网站托管服务 如果您是中小企业 个人站长 网站开发者或者学生 推荐您使用云虚拟主机来安装网站 本文以WordPress为例介绍通过云虚拟主机安装和使用网站的方法 其他网站的安装和使用请参考
  • Android网络编程的Socket通信简述

    概述 本文主要介绍Android中的网络编程的Socket通信一下小小总结 创建服务器端的步骤 1 指定端口实例化一个ServerSocket 2 调用ServerSocket的accept方法等待连接期间阻塞 3 获取位于底层的Socke
  • 6、numpy——高级索引

    NumPy 比一般的 Python 序列提供更多的索引方式 除了之前看到的用整数和切片的索引外 数组可以由整数数组索引 布尔索引及花式索引 1 整数数组索引 1 1 以下实例获取数组中 0 0 1 1 和 2 0 位置处的元素 1 impo
  • 还在为英语学习发愁吗?身为程序员的你可能需要这样一份“宝典”(上) ...

    雷锋网 AI 科技评论按 本文作者于江水 这是他在 GitHub 上发布的一篇文章 以下是他的原文 主要包括以下几个部分 本指南的内容概要和目标人群 语言学习的本质浅析 如何构建一个识别英语的程序 我的训练方法 常见问题 QA 资料 工具推
  • 【Python百日进阶-Web开发-Peewee】Day278 - SQLite 扩展(三)

    文章目录 12 2 7 class JSONPath 12 2 8 class SearchField 12 2 9 class FTS5Model 12 2 7 class JSONPath class JSONPath field pa
  • 2018年最新桌面CPU性能排行天梯图(含至强处理器)

    排名 处理器 图例 分数 1 Intel Xeon Platinum 8173M 2 00GHz 28860 2 Intel Xeon Gold 6154 3 00GHz 27789 3 Intel Core i9 7980XE 2 60G
  • Eclipse 中Deployment Assembly 无法正常显示

    我将本地Maven Java项目转换为Web项目 应该能够在Eclipse gt 转化项目名 gt properties 看到看到Deployment Assembly出现 如果还是没有该选项 很有可能在Eclipse中Deployment
  • python进阶:python高级编程技巧(上)

    1 深入类和对象 1 1鸭子类型和多态 鸭子类型多态的概念是应用于Java和C 这一类强类型语言中 而Python崇尚 鸭子类型 动态语言调用实例方法时不检查类型 只要方法存在 参数正确 就可以调用 这就是动态语言的 鸭子类型 它并不要求严
  • Jenkins自动构建部署项目(springboot+maven+svn)jar包启动方式(java -jar 包.jar)

    我的环境 linux centos6 5 jdk1 8 maven3 5 svn 第一步 安装必要插件 Deploy to container Plugin 部署到容器插件 Publish Over SSH 通过SSH发送构建构件 Buil
  • Hadoop学习——简单介绍及单点配置步骤(2018012-10补充)

    Hadoop介绍 Hadoop是一个开源的 可靠的 可扩展的系统架构 可利用分布式架构来存储海量数据 以及实现分布式的计算 Doug Cutting是创始人 同时也联合开发了Lucence Nutch Hadoop作用简概 存储海量数据 计
  • windows系统怎么用注册表修改桌面文件路径

    方法 步骤 1 调出运行窗口 输入regedit命令后回车打开注册表 2 在打开的注册表界面中依次展开以下路径 如图所示 HKEY CURRENT USER Software Microsoft Windows CurrentVersion
  • 【模型压缩】网络层与算子融合

    由于深度学习网络层数深 结构复杂 生成的算子数量众多 带了巨大的计算资源在和时间的消耗 业界对于加速算子的计算展开了一定研究 比较经典的方法是将多个算子重新组合成一个新的算子 同时对生成的代码进行底层的性能优化 融合成新算子后计算相对于多个
  • 字节的测试面试题,你觉得很难吗?不是有手就行....

    年前的时候 我的一个粉丝跟我说 他在面试美团的自动化测试岗的时候 不幸挂掉了 越想越可惜 回想面试经过 好好总结了几个点 发现面试没过的主要原因是在几个关键的问题没有给到面试官想要的答案 字节的面试会问些什么问题呢 他给我的留言是这样的 根
  • QT调用第三方dll (Lib方式)

    在项目的 pro文件中 增加一句 LIBS L D qtsrc myproject lmydll 在 cpp文件中 声明mydll dll里面导出的函数 extern C int add int a int b int subtract i
  • PYTHON实现自动发送邮件(QQ,163,139三种邮箱演示)

    测试文件与代码结构 一 QQ邮箱发送邮件 大致步骤 1 登录qq邮箱 选择设置 2 点击账户 进入设置界面 3 授权 生成授权码 4 编写发送代码 密码使用的是授权生成的代码 保证发送邮箱的SMTP功能是开启的 5 效果展示 发送代码 1
  • jupyter中图片显示

    文章目录 jupyter notebook中图片显示 1 html方式 2 PIL图片显示 3 opencv图片显示 4 Ipython 方式 jupyter notebook中图片显示 以下用多种方式 其中第一种和第四种方便查看图片 代码
  • chmod命令原理及用法详解

    Chmod命令主要用于修改 设置文件权限 chmod 修改文件权限主要有两种方式 字母法与数字法 虽然数字法相对字母法简单 但是数字法是基于字母法 所以这里先介绍字母法 1 字母法 chmod u g o a r w x 文件名 以上是ch
  • Linux-应用编程-学习总结(3):进程间通信(上)

    Linux 应用编程 学习总结 3 进程间通信 上 前言 进程间通信相关概念 管道 管道的概念 管道的原理 管道的局限性 创建匿名管道 fifo 有名管道 特点 使用场景 创建方式 内存映射区 前言 这次对进程间通信进行总结 上一篇文章以及
  • 微信开放平台【第三方平台】java开发总结:预授权码(pre_auth_code)(三)

    微信第三方平台预授权码 pre auth code 开发说明 全网最详细的微信第三方平台预授权码开发说明 预授权码 预授权码 pre auth code 是第三方平台方实现授权托管的必备信息 每个预授权码有效期为 10 分钟 需要先获取令牌