文档章节

微信 errcode:40029 errmsg:invalid code

gaopeng8
 gaopeng8
发布于 2015/06/19 15:53
字数 192
阅读 12233
收藏 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
0
小程序接口学习—开发接口

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

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

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

雪深
2015/02/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

kubernetes notes

Error from server (ServerTimeout): error when creating "mysql.yaml": No API token found for service account "default", retry after the token is automatically created and added t......

kut
10分钟前
1
0
代理模式---静态代理

package com.atguigu.java; //接口的应用:代理模式---静态代理。 public class ProxyTest { public static void main(String[] args) { NetWork work = new RealServer(); ProxyServer pro......

architect刘源源
25分钟前
2
1
工作中的一些Git使用

git stash list 查看所有stash git stash apply 0 应用序号为0那个stash并且不删除它 git stash pop 0 应用序号为0那个stash并且删除删除删除它 git stash save "env" stash当前的改动并且取...

-___-
52分钟前
1
0
C# webservice 配置总结

为了方便下次查看,把总结配置文件放这里,看的方便。 <?xml version="1.0" encoding="utf-8"?><!-- 有关如何配置 ASP.NET 应用程序的详细消息,请访问 http://go.microsoft.com/f...

轻轻的往前走
今天
0
0
SpringCloud之Eureka

Eureka简介 什么是Eureka? Eureka是一种基于rest提供服务注册和发现的产品: Eureka-Server: 用于定位服务,以实现中间层服务器的负载平衡和故障转移。 Eureka-client:用于服务间的交互,内...

lc_fly1
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部