微信公众号开发(一)

开始接入

因微信公众号开发需要实际注册公众号服务,所以这边采用微信测试号进行开发。

传送门: 微信公众平台接口测试帐号申请

所谓的代公众号指的就是将公众号授权给第三方平台进行管理,第三方平台拥有全部或部分的该公众号的接口权限,可以帮助管理运营公众号。

此处展示的为测试号后台配置

公众平台配置

在这里插入图片描述

消息加解密方式选择安全模式。启用服务器配置时,微信需要验证所填服务器地址url是否可用,开发时使用内网穿透外网工具。url的接口开发完成后才能保存成功。

  • IP白名单不要忘记配置,多个IP换行分隔。
  • 如果启用了服务器配置,微信公众平台将不再提供自定义菜单、自动回复等基础功能,平台上原有的菜单将会失效。

img

场景:公众号由运营人员运营,开发人员需要在自家的产品上嵌入公众号。很尴尬的情况出现了,运营人员不能放弃使用微信公众平台,开发人员需要接入公众号。对于这种情况,可以在公众号关闭服务器配置,将公众号授权给第三方平台,微信会将公众号的事件推送给第三方平台,以第三方平台的方式进行开发。(意思就是自己开发一个第三方模块,替换掉微信公众号因服务器配置而关闭的服务。)

开发前准备

配置文件中添加appID和appsecret

#微信公众号配置
wx:
  mp:
    #公众号开发者ID
    app-id: 微信管理后台提供的公众号appId
    #开发者密码
    secret: 微信管理后台提供的公众号开发者密码
    #消息加解密密钥
    encodingAESKey: 微信管理后台提供的加解密密钥

后端微信接入接口(填写url时,ip要用内网穿透工具解析成外网域名)

  /**
     * 微信接入接口
     * @param request
     * @param response
     * @throws IOException
     * @throws WxErrorException
     */
    @RequestMapping(value = "/test",method = RequestMethod.GET)
    @ResponseBody
    public Object init(HttpServletRequest request , HttpServletResponse response) throws IOException {
        String signature = request.getParameter("signature");
        String timestamp = request.getParameter("timestamp");
        String nonce = request.getParameter("nonce");
        String echostr = request.getParameter("echostr");

        String[] arrs = {WeinController.TOKEN,nonce,timestamp};
        Arrays.sort(arrs);
        StringBuffer sb = new StringBuffer();
        for (String a : arrs){
            sb.append(a);
        }
        String sha1 = SecurtiyKit.sha1(sb.toString());
        System.out.println(sha1);
        if(sha1.equals(signature)){
            System.out.println("接入成功");
                return echostr;
        }
        System.out.println("接入失败");
        return null;
    }

定义TOKEN(此处在微信公众配置处同步设置)

 public static  final  String TOKEN = "weixin";

sh1加密方法

   public  String sha1(String str){
        try {
            StringBuffer sb = new StringBuffer();
            MessageDigest md = null;
            md = MessageDigest.getInstance("sha1");
            md.update(str.getBytes());
            byte[] msg = md.digest();
            for (byte b :msg){
                sb.append(String.format("%02x",b));
            }
            return  sb.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return  null;
    }

点击配置提交 通过验证接口验证成功即配置成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cqr6cjzg-1670229224490)(C:\Users\zyh\AppData\Roaming\Typora\typora-user-images\image-20220707113123281.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
微信公众开发源码Java是用Java语言编写的用于开发微信公众号的源代码。微信公众开发是指通过开发者账号申请成为微信公众号的开发者,利用微信提供的开发接口和SDK来开发和管理公众号。 Java作为一种广泛应用于企业级开发的编程语言,在微信公众开发中也得到了广泛应用。通过使用Java开发微信公众号,可以实现公众号的业务逻辑,包括用户管理、消息推送、菜单设置、素材管理等功能,以及与其他系统的对接、数据的处理和存储等。 对于开发微信公众号的源码来说,Java源码通常包括了处理微信服务器与开发者服务器之间的消息通信和交互的代码,以及各类功能模块的实现代码。开发者可以根据自己的需求和业务逻辑,使用Java语言编写各种业务逻辑代码,并通过开发工具集成微信提供的SDK库来实现与微信服务器之间的交互。 在Java源码的基础上,开发者还可以根据需要进行定制和扩展,以满足更具体的业务需求。可以添加自定义的功能模块或者对现有功能进行修改和优化,以适应不同的应用场景和业务要求。 总之,微信公众开发源码Java是用于开发微信公众号的源代码,通过使用Java语言和相应的开发工具,开发者可以自定义和实现具体的业务功能,满足不同用户的需求,并与微信服务器进行消息交互,为用户提供更好的微信公众号服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值