微信公众平台开发:出现40029 code无效
本人写了一段用户授权的代码,出现错误:40029 不合法的oauth_code 问题。
上网找了答案说是调用了两次请求,发回的code相同,所以失效。
但是就是不知道为什么,我会发出两次请求。
请求授权代码:
def login(request):
user = request.session.get('wx_user',default=None)
#如果用户之前没有关注
if user is None:
url = ("https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"%(APP_ID,REDIRECT_URI))
return HttpResponseRedirect(url)
else:
return HttpResponse(u'关注成功')
授权后,回调函数获取code,进行调用下面的函数进行请求获取access_token代码如下:
def getUserByCode(APP_ID,APP_SECRET,code):
url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code"%(APP_ID,APP_SECRET,code)
jsons = request.urlopen(url).read()
jsons = str(jsons,encoding="utf-8") #将返回的bytes类型转化为string类型
arr = json.loads(jsons)
return arr
请问各位:我这样写问题出现在哪?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我刚刚遇到过这个问题, 微信里测试一直报
40029
错误后来偶尔发现, 我每次点击菜单进网页就不会报错, 而在微信里刷新网页就会出现
40029
,是不是和我一样,在微信里通过刷新网页调试接口的?试试从微信进入网页
如果这样解决的话, 那就是重复利用了CODE,
微信文档里说:
这个
用户授权带上的code将不一样
也能好好利用下,来调试这个bug.我现在也遇到了相同的问题。到现在还没有解决!如果你已经解决了,可否不吝赐教?
调试接口的时候后端返回{"msg":"40029:不合法的oauth_code","code":500}
修改 微信开发者工具右上角详情->基本信息->AppId
AppId修改一致后ok