文档章节

微信 errcode:40029 errmsg:invalid code

gaopeng8
 gaopeng8
发布于 2015/06/19 15:53
字数 192
阅读 12179
收藏 3
点赞 0
评论 7

微信网页授权提示 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
微信消息接口发送信息到分组和用户,错误代码40003和40008

调用高级群发接口: 1. 调用根据分组进行群发,返回错误代码:errcode:40008,errmsg:invalid message type 错误原因:HTTP请求提交的数据未进过JSON编码,注意下面代码中注释标明“正确和错误...

coton_chen
2016/02/26
1K
0
微信公众平台获取凭证时总是返回{"errcode":40001,"errmsg":"invalid credential"},这个问题是怎么解决的?

@using 你好,想跟你请教个问题: 微信公众平台获取凭证时总是返回{"errcode":40001,"errmsg":"invalid credential"},这个问题是怎么解决的? O(∩_∩)O谢谢啊!!...

小闵
2013/09/12
65.3K
3
微信公众平台发送微信消息失败

发送客服消息,一直失败,不知什么原因 返回错码:{"errcode":40003,"errmsg":"invalid openid"} 通过调试工具调试,可以发送,而通过代码接口发送失败,不知因为什么??...

javaer
2014/01/18
4.9K
5
微信企业号多媒体素材上传.doc 错误:invalid file type,测试工具上传成功

在上传file文件时,我上传了一个上传 新建文档.txt成功。上传 新建文档.doc,代码如下,返回结果:"{"errcode":40005,"errmsg":"invalid file type"}"。但是用微信接口调试工具测试上传 新建...

岩棂
2016/04/27
813
3
微信模板信息推送

返回Json数据是:{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [qTIGaa0373vr51!]"} 一下是我的代码 用的JFainl 框架 ApiResult result=T......

香槟早已挥发得彻底
2017/07/24
45
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

十大Intellij IDEA快捷键

Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发...

HJCui
17分钟前
0
0
word 使用mathtype 编写 数学公式

下载安装,这个链接命名。。。。 http://www.mathtype.cn/xiazai.html 安装之后会多出一个选项 使用内联方式插入图表 编写公式的界面 设置支持latex 语法 输入公式回车就可以看到结果...

阿豪boy
35分钟前
0
0
Promise

定义 Promise是异步编程的一种解决方案,所谓Promise就是一个容器,里面保存着某个未来才会结束的事件(通常是一个一步操作)的结果。 特点: 2.1 对象的状态不受外界影响,三种状态pending...

litCabbage
46分钟前
0
0
设计模式:适配器模式

说明:在不改变旧接口代码的前提下,为该接口新增其他接口的功能 适配器模式可以分为:类适配器模式、对象适配器模式、接口适配器模式 前两种模式下,我会以播放器为例。老版的播放器(Playe...

人觉非常君
46分钟前
0
0
使用VsCode搭建Java开发环境,创建springboot应用

1、在 Visual Studio Code 中打开扩展视图(Ctrl+Shift+X),输入关键词java、spring分别下载Java开发插件包和springboot插件包 2、配置参数 点击设置按钮,进入设置选项,配置用户设置 在用户...

qsyan
50分钟前
20
0
调教属于你的“贾维斯”(给自己挖了一个很大的坑)

今天玩一下现在很火的人工智能。 废话不多说,先来看几张图: 看出什么蹊跷了吗? 再来看一个视频: https://www.zhihu.com/video/1002567561061511168 (演示网址和代码见文末) 人工智能离...

crossin
55分钟前
1
0
ES10-检索入门

1.创建索引,准备数据 定义索引结构 DELETE telegraphPUT telegraph{ "mappings": { "msg":{ "properties": { "title":{ "type": "text", ...

贾峰uk
今天
1
0
css 三角形

1.无边框三角形 条件:width,height设置为0,border-width设置一定的宽度,border-color保留一边有颜色其他三边设置透明 .triangle{ width:0px; height:0px; border-width:40...

爱喝水的小熊
今天
0
0
NPM依赖包版本号~和^和*的区别

~ 会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0 ^ 会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0 * 这意味着安装最...

fangPeng_
今天
0
0
第三章 spring-bean之SimpleAliasRegistry(2)

前言 AliasRegistry的实现类,嗯,嗯,嗯,一个很简单的实现。只有一个map。 源码解读 接口 AliasRegistry public interface AliasRegistry {void registerAlias(String name, String al...

鸟菜啊
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部