微信公众号绑定开发者后端,报错“系统发生错误,请稍后重试”的坑

一、问题描述

在公众号后端填写完基本配置,点击保存,发现提示“系统发生错误,请稍后重试”。联系公众号客服回复,涉及开发内容不给支持-_-||
在这里插入图片描述

二、经多次百度,结合实际尝试,总结解决方案如下:

1. 问题发生的原因

在官方说明文档有这样一个说明:
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
在这里插入图片描述
只能怪自己没认真看文档。。。

2. 实现代码

说明:验证echostr请求会调GET请求,验证通过才能绑定成功;绑定成功后,回调的事件xml会调用相同url的POST请求传进来,所以我们需要2个接口来实现

@RequestMapping(value = "eventCall", method = RequestMethod.GET)
public void eventCallAuth(HttpServletRequest req, HttpServletResponse resp) {
    log.info("进入验证微信公众号绑定");
    try{
        String signature = req.getParameter("signature");//签名
        String timestamp = req.getParameter("timestamp");//时间戳
        String nonce = req.getParameter("nonce");//随机数
        String echostr = req.getParameter("echostr");//随机字符串用于初次绑定服务器原样返回
        resp.getWriter().write(echostr);//用于直接返回
        log.info("接口配置信息验证请求签名signature={},时间戳timestamp={},随机数nonce={},随机字符串echostr={}",signature,timestamp,nonce,echostr);
    }catch (Exception e){
        log.error("验证微信公众号绑定失败,",e);
    }
}
@RequestMapping(value = "eventCall", method = RequestMethod.POST)
public String eventCall(HttpServletRequest req, @RequestBody(required = false)String bodyStr) {
    log.info("bodyStr={}",bodyStr);
}

=====================================
这样代码部署后,即可绑定成功,同时能够正确接收到事件回调。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值