redirect_uri 参数错误的解决办法

我通过java代码去获得用户的openid,一直报redirect_uri。我页面代码的链接为:

https://open.weixin.qq.com/connect/oauth2/authorize?
        appid=APPID&
        redirect_uri=ENCODE(URL)&
        response_type=code&
        scope=snsapi_base&
        state=state#wechat_redirect"

其中APPID为项目的appid,ENCODE(URL)为链接希望跳转的url地址(url需要urlencode),url的encode在java中代码实现如下:

        // url进行编码
        String url = "http://evan.tunnel.mobi/zzaClient/bindindex.html";
        String url_encode = java.net.URLEncoder.encode(url, "utf-8");

        request.setAttribute("url_encode", url_encode);

当前台页面构造完成后,点击页面链接会跳转到bindindex.html的controller,在这个controller的代码写法是:

        // 需要在“开发者中心”---网页账号--修改。修改成域名,不要带http 。比如:evan.tunnel.mobi
        // 通过code获取openid
        String code = request.getParameter("code");

        JsonObject json = WeixinUtils.getOpenId(getopenid_url, app_id, secret,
                code, "authorization_code");

        String openid = json.get("openid").getAsString();
        logger.info(openid + "------------------------------openid");

可是奇怪的是,以上所有参数都没有写错,url也进行编码了。但是还是会报redirect_uri 参数错误。解决办法是: 需要在微信公众平台的“开发者中心”—网页账号–修改 把“授权回调页面域名”改成服务器的域名即可。如图:

到这样,openid就可以正常获得了。有些开发者可能会有些疑问,如果我每次更改都要部署到正式环境进行测试,这样多浪费时间,其实我们可以通过ngrok将本地地址映射到外网,这样就可以将开发环境的地址直接映射到外网。具体操作详见博客:

http://blog.csdn.net/zl544434558/article/details/46593063

最后附上一张报错的图片

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 15:35:26

redirect_uri 参数错误的解决办法的相关文章

win7使用arp-d提示参数错误的解决办法。

在win7环境下,使用arp -d命令出现无法删除参数错误的解决办法.注意:是提示参数错误,不是提示权限需要提升 1.先运行:netsh i i show in 找到正在使用的网卡idx号 2.绑定ARP:netsh -c i i add neighbors 11 192.168.1.1 00-21-27-bc-89-48 就可以进行绑定了,这里11是idx号. 3.解绑ARP:netsh -c i i delete neighbors 11

微信公众平台,微信网页授权,redirect_uri参数错误,解决方法!

刚才在做微信网页授权的时候,发生一个错误!!!微信网页授权redirect_uri 参数错误! 遇到问题,第一时间应该做的就是查看官网微信公众平台的技术文档. 微信网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域名的说明 1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修改授权回调域名

微信支付:redirect-uri参数错误 的解决办法

redirect_url参数错误: 报这个错误,说明你的公众号后台授权设置有问题(一般有两处) 一:检查授权目录 答:支付授权目录是网站发起请求的页面所在目录,并且必须是能通过url地址访问的(与真实物理目录路径无关).注意这个目录在注册填写时,需要精确到最细一级的且使用名称后直接加文件名,不可再增加 or 删减目录. 二:检查网页授权 当开发者使用微支付的“JS API”支付时,这种支付需要网页授权,先获取code,再拿code去获取openid和prepay_id.这个网页授权需要登录微信公

微信开发 支付开发redirect_uri参数错误解决办法

问题现象:在微信开放平台上开发,访问的时候, 提示redirect_uri 参数错误 解决办法:添加回调域 1.登录公众号-开发者中心-功能服务-网页账号 公众号平台:https://mp.weixin.qq.com/ 2.修改域名(不是url,是域名) 格式如下: test.sina.com 版权声明:本文为博主原创文章,未经博主允许不得转载.

微信公众平台开发——redirect_uri参数错误

关键是将:网页账号-->网页授权获取用户基本信息,修改OAuth2.0网页授权中的授权回调页面域名为基本配置中的“服务器配置”-->URL(服务器地址)中的域名. 解决办法见: redirect_uri参数错误解决方法 微信公众平台 http://jingyan.baidu.com/article/91f5db1b3659811c7e05e357.html

SharePoint 2013 Distributed Cache Service错误和解决办法

接上篇 SharePoint 2013 SPDistributedCacheService 介绍与配置 本文介绍常见 Distributed Cache Service错误和解决办法. 1.  ErrorCode<ERRCAdmin010>:SubStatus<ES0001>:Specified host is not present in cluster. PS C:> Use-CacheCluster PS C:> Get-CacheHostConfig –Comp

Oracle10g安装中遇到的错误及解决办法

Linux环境: LSB Version: :core-3.0-ia32:core-3.0-noarch:graphics-3.0-ia32:graphics-3.0-noarchDistributor ID: RedHatEnterpriseASDescription: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)Release: 4Codename: NahantUpdate7 Oracle安装版本:10201_databas

SQL语句中,Conversion failed when converting datetime from character string.错误的解决办法

在项目开发过程中,我们经常要做一些以时间为条件的查询,比如查询指定时间范围内的历史记录,然而这些时间都是从UI传递过来的参数,所以我们写的sql语句就必须用到字符串拼接.当然,在C#中写SQL语句还好处理,可以使用C#的字符串函数做对应的数据类型转换.但是,如果用的是存储过程的话,就有点纠结了.下面来说一下我在写存储过程中遇到的问题: 为了更加直接的说明问题,写如下一个简单的例子: declare @dateFrom datetime; declare @dateTo datetime; dec

spark on yarn运行产生缺jar包错误及解决办法

1.本地运行出错及解决办法 当运行如下命令时: ./bin/spark-submit --class org.apache.spark.examples.mllib.JavaALS --master local[*] /opt/cloudera/parcels/CDH-5.1.2-1.cdh5.1.2.p0.3/lib/hadoop-yarn/lib/spark-examples_2.10-1.0.0-cdh5.1.2.jar /user/data/netflix_rating 10 10 /u