为什么微信聊天记录换手机网页授权后返回带走code的地址,但是页面却无法获取

自从学习微信聊天记录换手机开發就一直遇到大大小小的bug每次的问题都是绞尽脑汁啊。

最近测试刚完成的网页授权获取微信聊天记录换手机用户信息功能突然出现了很哆人都关注的错误而且网上都没有得到解决的错误?

现在终于得到完全解决给走在路上或正在路上出现问题的伙伴一个走捷径的方法。

问题描述:网页授权获取微信聊天记录换手机用户信息 错误40029:不合法的oauth_code

在第一步:用户同意授权获取code,通过code获取access_token时有时会出现40029错误。

经过调试会发现问题出现在redirect_uri=REDIRECT_URI当跳转到授权链接后微信聊天记录换手机会发出两次转向至redirect_uri的相同请求(两次带进来的code是相同的)。

可这種情况只是偶尔发生过一会儿再进入又正常了 !

if(!empty($dlzt))   //上面说了 记录code是否重复提交,此处就是判断这个$dlzt存在了不执行获取用户信息因为用户信息已经获取过了。

这里放如果存在二次转向到redirect_uri时在这里进行第二次跳转的逻辑判断,我此处是进行登录获取用户信息因为第一次已經登录完成了,登录状态和相关逻辑都已经成功执行一次第二次我是直接跳入会员中心,就避免了第二次重复登录出现code无限的错误了

delete_cookie("dlzt");//刪除我们设置的$dlzt 这个cookie值,删除好处是用户重新打开页面或下次访问页面还是第一次访问状态,不会出现因为有值而导致不执行获取微信聊天记录换手机用户信息出错

//此处是完整的通过code来获取accesstoken 及获取用户资料。

// (假设token过期需要从小获取自己去判断)

著作权归作者所有商業转载请联系作者获得授权,非商业转载请注明出处

所有微信聊天记录换手机开发的楿关内容都需要参考官方文档。

[微信聊天记录换手机公众平台|开发文档] 

一、通过网页授权,可以获取用户微信聊天记录换手机的基本信息

三、每一个步骤的实现。

* code只能使用一次当获取到之后code失效,再次获取需要重新进入 * 不会弹出授权页面,适用于关注公众号后自定义菜单跳转等如果不关注,那么只能获取openid


* 获取到用户的openid之后可以判断用户是否有数据可以直接跳过获取access_token,也可以继续获取access_token

至此四个步骤全蔀完成。

* 通过code获取用户openid以及用户的微信聊天记录换手机号信息 * 获取到用户的openid之后可以判断用户是否有数据可以直接跳过获取access_token,也可以继续獲取access_token * 发送http请求,并返回数据

这几天测试刚完成的网页授权获取微信聊天记录换手机用户信息功能

在第一步:用户同意授权获取code,通过code获取access_token时有时会出现40029错误。

经过调试发现问题出现在redirect_uri=REDIRECT_URI当跳转箌授权链接后,微信聊天记录换手机会发出两次转向至redirect_uri的相同请求(两次带进来的code是相同的)

由于面一次被终止,生效的为第二次因洏不能获取到用户信息。(可这种情况只是偶尔发生过一会儿再进入又正常了),请教这个问题应该如何解决

下面贴一张我获取微信聊天记录换手机用户信息的流程图,请教各位这个流程是不是存在什么问题呢改怎么改善一下?

我要回帖

更多关于 微信聊天记录换手机 的文章

 

随机推荐