0411-39943997
工作时间:周一至周日 8:30-22:00
行业新闻
Industry News
40163 code been used, hints
标签: code been used, hints 40163  访问: 3282018-12-20

最近开发一个项目,有公众号的,要求从公众号的快捷菜单进入网站,然后实现自动登录的功能。其实就是一个通过Code获取OpenId的过程。以前做项目时,也用过。不过最近不知道为什么,总是提示code been used, hints: [ req_id: **************]的40163的错误 。

找度娘问了,才知道,原来是用已得到的Code连续请求了两次,可是为什么会请求两次呢。排查了半天,真是半天的时间,浪费呀,也做了不少的测试。在我的项目里我找到了一个原因:

点一下微信公众号的快捷菜单,跳转到网站页面会请求两次。 

比如说:一个快捷菜单为:网站首页,它的链接为:http://www.home.com,把么你就会发现,这个首页里会有两次访问。

这还不是奇怪的地方,更奇怪的是安卓系统和苹果系统还不一样。安卓请求两次,苹果请求一次

具体是什么原因我还是没找到,只是发现了这样的问题。

我是这样解决的。

在第一次请求时,把得到的OpenId缓存下来。返回OpenId,走正常程序流。

第二次请求时,把OpenId直返回。不再请求。注意,这里,如果有第二次请求的话,第一次请求会正常走完,但页面不会返回,第二次请求时将页面返回。

可能说的有点乱。希望能给您带去一点思路。

Copyright© 2015 仟亿科技,All rights reserved.