我通过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 參数错误。解决的方法是: 须要在微信公众平台的“开发人员中心”—网页账号–改动 把“授权回调页面域名”改成server的域名就可以。

如图:

到这样,openid就能够正常获得了。有些开发人员可能会有些疑问,假设我每次更改都要部署到正式环境进行測试。这样多浪费时间,事实上我们能够通过ngrok将本地地址映射到外网,这样就能够将开发环境的地址直接映射到外网。

详细操作详见博客:

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

最后附上一张报错的图片

redirect_uri 參数错误的解决的方法的更多相关文章

  1. MyBatis參数格式化异常解决方式:MyBatisSystemException:

    MyBatis參数格式化异常解决方式:MyBatisSystemException: 问题:今天使用MyBatis开发查询功能时,前台传入查询条件明明是String类型,到后台就报错,提示格式化数值错 ...

  2. Extjs4 Combobox 联动始终出现loading错误的解决的方法

    当反复选者combobox 联动时,下级的Combobox 会出现loading的错误表现形式,尽管Store数据已载入完也是一样. 废话少说贴代码就知道怎样处理了:(注意红色部分的关键语句) }, ...

  3. GCC编译uboot出现(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'错误的解决的方法

    /opt/arm-2010.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/armv4t/libgcc.a(_bswapsi2.o):(.ARM.exid ...

  4. Android-68-Tomcat各种启动错误的解决的方法,如:Exception in thread "Thread-6" NoClassDefFoundError,Document base E:\

     上午遇到一个棘手的事儿,导入一个project,结果把原有的Tomcatserver给导坏了.各种红的.黑的.蓝的错误满天飞啊,刚弄完一个项目,怕被毁了.我那个揪心呀! 还好.在走头无路的情况下 ...

  5. 关于Oracle安装完毕后,登录时遇到的错误的解决的方法

    1 提示无监听服务 解决方法:打开Net Configuration Assistant 依照提示删除现有的监听服务,然后又一次建立一个就可以. 2 SQL Plus登陆时提示username或pas ...

  6. ubuntu无法解析主机错误与解决的方法

    今天在用命令行进行操作的时候,出现了无法解析主机的错误.google了一下,原来是hosts文件的问题.更改过来即可了 进入终端,输入 sudo gedit /etc/hosts.输入password ...

  7. 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE解决的方法

    今天在使用android studio在Genymotion上调试程序出现INSTALL_FAILED_CPU_ABI_INCOMPATIBLE导致程序安装不了: 后来百度发现是要安装:http:// ...

  8. win7系统中更新错误怎么解决的方法

    不少安装win7旗舰版系统的网友们都喜欢关注微软发布的一些消息,尤其是关于win7旗舰版系统的更新补丁时都会下载并安装的.可是不少网友在自动更新补丁的时遇到自动更新失败的问题,下面来介绍一下具体操作! ...

  9. Android快捷支付SDK Demo resultStatus={4001};memo={參数错误};result={}问题

    在支付宝中粘贴RSA公钥并提交,然后问题就完美攻克了...

随机推荐

  1. DefaultTransactionStatus源码

    package org.springframework.transaction.support; import org.springframework.transaction.NestedTransa ...

  2. SPFA ----模板 O(kE) (k一般不超过2)

    原理:若一个点入队的次数超过顶点数V,则存在负环: #include "bits/stdc++.h" using namespace std; ; struct Edge { in ...

  3. 九度oj 题目1349:数字在排序数组中出现的次数

    题目描述: 统计一个数字在排序数组中出现的次数. 输入: 每个测试案例包括两行: 第一行有1个整数n,表示数组的大小.1<=n <= 10^6. 第二行有n个整数,表示数组元素,每个元素均 ...

  4. HDU——1789Doing Homework again(贪心)

    Doing Homework again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  5. Problem 1004: 蛤玮打扫教室(区间覆盖端点记录)

    Problem 1004: 蛤玮打扫教室 Time Limits:  1000 MS   Memory Limits:  65536 KB 64-bit interger IO format:  %l ...

  6. cssText批量修改样式

    cssText所有浏览器都支持. cssText 的使用 obj.style.cssText = " width:200px;position:absolute;left:100px;&qu ...

  7. iOS-汉字排序

    * 在IOS开发过程中,排序是我们经常遇到的问题,那么如何进行排序呢? * 在英文状态下,系统中有直接可以调用的方法.    例如:对数组[sss, aaa, bbb, ppp]进行排序,我们可以直接 ...

  8. 说说IO(一)- IO的分层

    IO性能对于一个系统的影响是至关重要的.一个系统经过多项优化以后,瓶颈往往落在数据库:而数据库经过多种优化以后,瓶颈最终会落到IO.而IO性能的发展,明显落后于CPU的发展.Memchached也好, ...

  9. 洛谷 P 1387 最大正方形

    题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m ...

  10. jquery 同源跨域请求整理

    //同源ajax请求数据 function getData(url,paramjson,fn) { $.ajax({ type : "POST", //提交方式 url : url ...