微信公众号[Java]开发采坑记录【“redirect_uri域名与后台配置不一致”,错误码10003】

最近项目要求接触微信公众号的开发,遇到很多问题。

我先从头开始讲吧,大家如果想要直接找问题的可以往下翻。

以下部分步骤是根据网上的帖子进行操作的,我自行补充了一些东西,以便理解。

帖子地址:https://www.cnblogs.com/JessicaIsEvolving/p/11141133.html

申请微信公众号开发者账号。

http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

1、填写接口配置信息

 

需要注意的是,这个URL很多人不知道怎么填,查看文档可能也不知道咋填。(比如我)

首先,你需要起一个项目,并且该项目是外网可访问的,最好是有域名指向的。

我这边是本机的端口映射到外网,做个指向。然后再域名指向外网的端口。

域名 ===> 外网ip端口 ===> 本地ip端口。

所以我这里端口号是自定义的,并没有按照必须80或443来填。

废话完毕,接下来是URL相关。

写一个接口,用于校验公众号返回来的Token验证,具体代码如下:

import me.chanjar.weixin.mp.api.WxMpService;

private final WxMpService wxService;

@RequestMapping("/wx/checkToken/{appid}")
    public String checkToken(@PathVariable String appid,
                          @RequestParam(name = "signature", required = false) String signature,
                          @RequestParam(name = "timestamp", required = false) String timestamp,
                          @RequestParam(name = "nonce", required = false) String nonce,
                          @RequestParam(name = "echostr", required = false) String echostr) {

        log.info("\n接收到来自微信服务器的认证消息:[{}, {}, {}, {}]", signature,
            timestamp, nonce, echostr);
        if (StringUtils.isAnyBlank(signature, timestamp, nonce, echostr)) {
            throw new IllegalArgumentException("请求参数非法,请核实!");
        }

        if (!this.wxService.switchover(appid)) {
            throw new IllegalArgumentException(String.format("未找到对应appid=[%s]的配置,请核实!", appid));
        }

        if (wxService.checkSignature(timestamp, nonce, signature)) {
            return echostr;
        }

        return "非法请求";
    }

请注意,这里必须是GET请求。

这是微信公众号的Maven导入:

<dependency>    
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-mp</artifactId>
    <version>3.8.0</version>
</dependency>

然后这个URL就填这个接口的地址就行啦!记住,一定要是外网可访问的,因为是提供给微信那边的Token验证回调。

接口地址例如:http://ck.xxx.com/wx/checkToken/wx123456789

接下来是Token,这个随意填写就好,自己记住就行。具体作用这里不做阐述。后面也是可以修改的,所以填啥都可以。

例如:cktestToken、甚至abcd等等都可以。。。

2、配置JS接口安全域名

注意:这里域名不需要以http或https开头,那只是协议。

例如:ck.xxx.com

3、配置网页账号。

这里藏的比较深,也比较容易被忽略。

在体验接口权限表里面找到网页服务===>网页账号===>修改

这里填写你的域名,例如:ck.xxx.com

填好之后就大功告成了,用微信扫描测试号二维码就可以关注自己的微信公众号了。

假如出现【“redirect_uri域名与后台配置不一致”,错误码10003】

请仔细检查第一步、第二步、第三步是否有配置正确?请仔细检查菜单链接的url是否配置正确?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值