微信公众号模板消息接口开发Java实现方法代码

 更新时间:2024年12月07日 11:45:25   作者:xiao刘666  
这篇文章主要介绍了微信公众号模板消息接口开发Java实现的相关资料,,该接口可以用于向关注公众号的用户推送消息,包括群发和指定用户发送消息,文章详细介绍了如何获取公众号的测试信息、配置接口信息和获取access_token,需要的朋友可以参考下

公众当中的功能 有许许多多,目前主要介绍模板消息接口的功能使用。

目的:

为了给关注过公众号的用户进行消息的推送,可以群发以及给指定的用户去发送消息,通常像一些访客、物业报修、以及支付的结果等等都可能会运用到该接口。

使用:

在微信公众号的开发者文档当中 选择模板消息接口,其中就有接口的讲解以及使用。

目前我们主要使用测试号去进行讲解和使用(个人注册订阅号,企业主要使用服务号)。

按照以下步骤获取公众号的测试信息:appID、appsecret 唯一等。

获取以下数据:

然后就是进行接口配置信息,首先我们是测试的公众号,所以只需要在以上界面当中去验证接口,若是正式上线则需要工具开发文档的要求去配置服务器的信息等,规则都是相似的!!!

所以我们需要在下面的页面当中配置验证的接口:

 @GetMapping("get")
    @ApiOperation(value = "微信公众号验证接口")
    public String init(String signature,String timestamp,String nonce,String echostr) throws NoSuchAlgorithmException {
        String token = "test";
        List<String> stringList = Arrays.asList(token, timestamp, nonce);
        Collections.sort(stringList);
        StringBuilder stringBuilder=new StringBuilder();
        for (String s : stringList) {
            stringBuilder.append(s);
        }
        MessageDigest sha1 = MessageDigest.getInstance("sha1");
        byte[] bytes = sha1.digest(stringBuilder.toString().getBytes());
        StringBuilder sum=new StringBuilder();
        for (byte aByte : bytes) {
            sum.append(Integer.toHexString(((aByte>>4)&15)));
            sum.append(Integer.toHexString(aByte&15));
        }
        if (signature!=null&&signature.equals(sum.toString())){
            return echostr;
        }
        return echostr;
    }

 首先代码当中的token就是在公众号当中配置的token需要相同,下一步就是按照文档要求:1、将token、timestamp、nonce三个参数进行字典序排序;2、将三个参数字符串拼接成一个字符串进行sha1加密;3、开发者获得加密后的字符串可与signature对比

具体的sha1加密算法可以去网上搜寻以下资料,如果成功了则就会提示配对成功!!!

注:在验证时,若该服务部署在服务器上,则使用服务器的地址即可,若没有服务器,则可以使用内网穿透实现验证。

获取access_token:

在调用接口的时候大多数都会使用到access_token,因此我们需要按文档要求去获取到access_token。

以上也都是官方提供的方法以及接口调用去获取到 access_token。

 private static AccessToken getToken() throws IOException {
        String url=String.
                format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s",appid,secret);
        String st = HttpRestUtils.get(url, null);
        JSONObject jsonObject=new JSONObject(st);
        String access_token = jsonObject.getStr("access_token");
        Long expires_in = jsonObject.getLong("expires_in");
        accessToken.setToken(access_token);
        accessToken.setExpiresTime(expires_in);
        return accessToken;
    }

    public static String getAccessToken() throws IOException {
        if (accessToken!=null || accessToken.isExpires()){
            getToken();
        }
        return accessToken.getToken();
    }

以上则是获取到access_token,当然access_token存在过期时间,因此在获取到的同时也需要进行过期的判断,如果过期了则重新获取。

后续模板消息推送功能的操作将会发布,请持续关注!!!

总结

到此这篇关于微信公众号模板消息接口开发Java实现方法的文章就介绍到这了,更多相关微信公众号模板消息接口开发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中的ClassLoader类加载器使用详解

    Java中的ClassLoader类加载器使用详解

    这篇文章主要介绍了Java中的ClassLoader类加载器使用详解,ClassLoader用于将CLASS文件动态加载到JVM中去,是所有类加载器的基类,所有继承自抽象的ClassLoader的加载器,都会优先判断是否被父类加载器加载过,防止多次加载,需要的朋友可以参考下
    2023-10-10
  • jdk7 中HashMap的知识点总结

    jdk7 中HashMap的知识点总结

    HashMap的原理是老生常谈了,不作仔细解说。一句话概括为HashMap是一个散列表,它存储的内容是键值对(key-value)映射。这篇文章主要总结了关于jdk7 中HashMap的知识点,需要的朋友可以参考借鉴,一起来看看吧。
    2017-01-01
  • Java8中的default方法详解

    Java8中的default方法详解

    这篇文章主要介绍了Java8中的default方法详解,Java 8新增了default方法,它可以在接口添加新功能特性,而且还不影响接口的实现类,需要的朋友可以参考下
    2015-03-03
  • SpringBoot使用外置的Servlet容器的方法步骤

    SpringBoot使用外置的Servlet容器的方法步骤

    SpringBoot 是一个非常流行的 Java 开发框架,它提供了一个简单而强大的方式来创建基于 Servlet 容器的 Web 应用程序,本文将介绍 SpringBoot 中如何使用 Servlet 容器,需要的朋友可以参考下
    2024-12-12
  • Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

    Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

    本文主要介绍了Spring Boot中的拦截器(Interceptor)及其与过滤器(Filter)的区别,拦截器是Spring MVC提供的接口,可以实现请求处理前后的逻辑,本文介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • Java servlet执行流程代码实例

    Java servlet执行流程代码实例

    这篇文章主要介绍了Java servlet执行流程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • FeignClient中name和url属性的作用说明

    FeignClient中name和url属性的作用说明

    这篇文章主要介绍了FeignClient中name和url属性的作用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Spring 中使用反射创建 Bean 实例的几种方式

    Spring 中使用反射创建 Bean 实例的几种方式

    文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newInstance()、工厂方法以及Spring的BeanUtils工具类,文章还强调了反射操作的注意事项,如异常处理、性能、安全性以及类型安全,感兴趣的朋友一起看看吧
    2025-03-03
  • Java学习25个JAVA常见代码示例-值得收藏的笔记

    Java学习25个JAVA常见代码示例-值得收藏的笔记

    本文列举了25个Java常用代码示例,涵盖了基础语法、面向对象编程、高级编程概念等内容,旨在帮助Java初学者掌握编程技能,从入门到成长为架构师
    2025-11-11
  • Java创建可执行JAR文件的多种方式

    Java创建可执行JAR文件的多种方式

    本文主要介绍了Java创建可执行JAR文件的多种方式,使用JDK的jar工具、IDE、Maven和Gradle来创建和配置可执行JAR文件,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07

最新评论