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 參数错误。解决的方法是: 须要在微信公众平台的“开发人员中心”—网页账号–改动 把“授权回调页面域名”改成server的域名就可以。
如图:
到这样,openid就能够正常获得了。有些开发人员可能会有些疑问,假设我每次更改都要部署到正式环境进行測试。这样多浪费时间,事实上我们能够通过ngrok将本地地址映射到外网,这样就能够将开发环境的地址直接映射到外网。
详细操作详见博客:
http://blog.csdn.net/zl544434558/article/details/46593063
最后附上一张报错的图片
redirect_uri 參数错误的解决的方法的更多相关文章
- MyBatis參数格式化异常解决方式:MyBatisSystemException:
MyBatis參数格式化异常解决方式:MyBatisSystemException: 问题:今天使用MyBatis开发查询功能时,前台传入查询条件明明是String类型,到后台就报错,提示格式化数值错 ...
- Extjs4 Combobox 联动始终出现loading错误的解决的方法
当反复选者combobox 联动时,下级的Combobox 会出现loading的错误表现形式,尽管Store数据已载入完也是一样. 废话少说贴代码就知道怎样处理了:(注意红色部分的关键语句) }, ...
- 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 ...
- Android-68-Tomcat各种启动错误的解决的方法,如:Exception in thread "Thread-6" NoClassDefFoundError,Document base E:\
上午遇到一个棘手的事儿,导入一个project,结果把原有的Tomcatserver给导坏了.各种红的.黑的.蓝的错误满天飞啊,刚弄完一个项目,怕被毁了.我那个揪心呀! 还好.在走头无路的情况下 ...
- 关于Oracle安装完毕后,登录时遇到的错误的解决的方法
1 提示无监听服务 解决方法:打开Net Configuration Assistant 依照提示删除现有的监听服务,然后又一次建立一个就可以. 2 SQL Plus登陆时提示username或pas ...
- ubuntu无法解析主机错误与解决的方法
今天在用命令行进行操作的时候,出现了无法解析主机的错误.google了一下,原来是hosts文件的问题.更改过来即可了 进入终端,输入 sudo gedit /etc/hosts.输入password ...
- 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE解决的方法
今天在使用android studio在Genymotion上调试程序出现INSTALL_FAILED_CPU_ABI_INCOMPATIBLE导致程序安装不了: 后来百度发现是要安装:http:// ...
- win7系统中更新错误怎么解决的方法
不少安装win7旗舰版系统的网友们都喜欢关注微软发布的一些消息,尤其是关于win7旗舰版系统的更新补丁时都会下载并安装的.可是不少网友在自动更新补丁的时遇到自动更新失败的问题,下面来介绍一下具体操作! ...
- Android快捷支付SDK Demo resultStatus={4001};memo={參数错误};result={}问题
在支付宝中粘贴RSA公钥并提交,然后问题就完美攻克了...
随机推荐
- 第001弹:Java 中创建对象的4种方式
Java 是面向对象的语言,不可避免的,“对象”这个概念是 Java 语言的核心部分,这里来简单讨论一下在 Java 中创建一般对象的方法. 总结下来有以下4种创建对象的方法: 使用 new 关键字调 ...
- HDU2013 蟠桃记【递推】
Problem Description 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是蟠桃一共有多少 ...
- 【Luogu】P2057善意的投票(最小割转最大流)
题目链接 也算水题一道吧,不过Round1感性理解一下就xjb建了个图,40 Round2仔细分析了一会,理性建了个图,90 然后分析了半天……改大数组就A了…… 从S到所有值为1的点连一条inf的边 ...
- Java2WSDL 和 WSDL2Java(Axis)
原文地址:https://www.ibm.com/developerworks/cn/webservices/ws-axisfaq/ 生成或取得WSDL文件 生成客户端或服务端代码 执行WSDL2Ja ...
- 给长标题加...css
.wrap{ white-space:nowrap;overflow:hidden;text-overflow: ellipsis; } <th class="wrap"&g ...
- BaseResponse
package common; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /** * ...
- Road(bzoj 2750)
Description C国有n座城市,城市之间通过m条单向道路连接.一条路径被称为最短路,当且仅当不存在从它的起点到终点的另外一条路径总长度比它小.两条最短路不同,当且仅当它们包含的道路序列不同.我 ...
- Bzoj3747 [POI1015] Kinoman
Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]. 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部. 你可以选择l,r(1<=l< ...
- CentOS找不到想要的镜像版本?
CentOS找不到想要的镜像版本? 情景: 当学习Linux时,一般教程不是最新的,教程里的CentOS版本也就不是最新的,这个时候, 在看着教程练习的时候就需要安装指定的版本,避免因为版本不同造成困 ...
- CUDA程序计时
之前写的CUDA程序,想测量一下性能,网上很多用的是CPU端计时,很不准确.翻了一下书,发现这里应该使用事件来计时. CUDA中的事件本质上是一个GPU时间戳,这个时间戳是在用户指定的时间点上记录的. ...