文档章节

微信 errcode:40029 errmsg:invalid code

gaopeng8
 gaopeng8
发布于 2015/06/19 15:53
字数 192
阅读 12252
收藏 3

微信网页授权提示 errcode:40029 errmsg:invalid code

测试发现是因为不明原因请求两次导致code失效(code只能使用一次)

解决方法:

在返回页面加try catch解决,具体原因稍后待查。

try {
	request.setCharacterEncoding("utf-8");
	response.setCharacterEncoding("utf-8");

	//网站id
	String websiteId = request.getParameter("websiteId");
	// 用户同意授权后,能获取到code
	String code = request.getParameter("code");
	// 用户同意授权
	if (!"authdeny".equals(code)) {
			// 获取网页授权access_token
			WeixinOauth2Token weixinOauth2Token = AdvancedUtil.getOauth2AccessToken("XXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXX", code);
			// 网页授权接口访问凭证
			String accessToken = weixinOauth2Token.getAccessToken();
			// 用户标识
			String openId = weixinOauth2Token.getOpenId();
			// 获取用户信息
			SNSUserInfo snsUserInfo = AdvancedUtil.getSNSUserInfo(accessToken, openId);
			String nickName = CommonString.getFormatPara(snsUserInfo.getNickname());
	
			// 设置要传递的参数
			request.setAttribute("snsUserInfo", snsUserInfo);
			request.setAttribute("websiteId", websiteId);
	}
	//跳转到index.jsp
	request.getRequestDispatcher("/index.jsp").forward(request, response);
	return;
} catch (Exception e) {
	e.printStackTrace();
}


© 著作权归作者所有

共有 人打赏支持
gaopeng8
粉丝 2
博文 20
码字总数 1566
作品 0
烟台
程序员
私信 提问
加载中

评论(7)

程序员jacky
程序员jacky
P,加个try/catch就能好? 我估计是现在微信的授权是3.0的,你们参考的代码都是2.0的,获取token的方式都变掉了
gaopeng8
gaopeng8

引用来自“Reliable_李”的评论

怎么解决的呢?
兄弟,我也是参考了网上资料后用try/catch就好了!具体还没有时间去查证,如果对你来说不好用,你可以再去搜搜其他解决方法!微信这面我也是刚接触,只能等有时间我再去详细查找下原因了!
gaopeng8
gaopeng8

引用来自“rayeaster”的评论

如果有两次redirect,第一次会自动结束,原因找到了吗?
不好意思,这个暂时就这样用着了,也没有时间去查证!
R
Reliable_李
怎么解决的呢?
L
Learners_
请问这个问题怎么解决呢?
L
Learners_
我加了try{}catch...还是不行!
rayeaster
rayeaster
如果有两次redirect,第一次会自动结束,原因找到了吗?
微信第三方授权登录返回错误信息: 40029

微信第三方登录授权后,能获取到code码,但是获取gat_token()信息就会返回这样的错误信息: Array( ) 有问题,先查下官方的文档,熟悉下授权流程: 微信第三方授权登录文档:http://blog.csd...

Corwien
2016/05/12
2.5K
0
微信支付2016开发调试过程记录

最近换了家公司,因为以前也是做支付的来这个公司直接让我从零开始搭建支付服务。首先是微信支付宝的第三方接入。我是做java开发的。支付宝有接入的sdk就是一个jar包。而且有沙箱环境测试帐号...

挨踢人生
2016/11/15
0
0
微信企业号登录授权Java实现获取员工userid根据userid换openid

微信企业号登录授权Java实现获取员工userid根据userid换openid 2016年1月8日 为了方便测试 。debug 建议大家搞个花生壳或者其他的可以映射公网IP的软件。 貌似涨价了8元一个。鄙人捡了个便宜...

小帅帅丶
2015/08/26
0
1
小程序接口学习—开发接口

一、登录 https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html 1、步骤 (1)调用接口wx.login(OBJECT)获取登录凭证(code)。 (2)再将code传递给第三方服务器,第三方服务器请...

我是程序yuan
2018/01/12
0
0
网站应用微信登录功能接口开发指南

准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审...

雪深
2015/02/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

发布xxl-job executor dotnet core 执行器的实现

DotXxlJob [github][https://github.com/xuanye/DotXxlJob] xxl-job的dotnet core 执行器实现,支持XXL-JOB 2.0+ 1 XXL-JOB概述 [XXL-JOB][1]是一个轻量级分布式任务调度平台,其核心设计目标...

假正经哥哥
今天
2
0
mysql 查询当天、本周,本月,上一个月的数据

今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 近7天 SELECT * FROM 表名 wher......

BraveLN
今天
3
0
Spring 事务初始化源码分析

相关文章 Spring 事务使用详解 Spring AOP 创建代理的源码解析 Spring AOP 注解方式源码解析 Spring AOP 功能使用详解 Spring 的 getBean 方法源码解析 Spring bean 创建过程源码解析 Spring...

TSMYK
今天
1
0
Android Multimedia框架总结(六)C++中MediaPlayer的C/S架构

前面几节中,都是通过java层调用到jni中,jni向下到c++层并未介绍 看下Java层一个方法在c++层 MediaPlayer后续过程 frameworks/av/media/libmedia/MediaPlayer.cpp 找一个我们之前熟悉的setDa...

天王盖地虎626
今天
3
0
【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)

1、前言   框框博客在线报时:2018-11-07 19:31:06   当前MySQL最新版本:8.0.13 (听说比5.7快2倍)   官方之前表示:MySQL 8.0 正式版 8.0.11 已发布,MySQL 8 要比 MySQL 5.7 快 2 ...

Code辉
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部