微信公众平台开发:出现40029 code无效

发布于 2022-09-01 17:31:29 字数 960 浏览 14 评论 0

本人写了一段用户授权的代码,出现错误: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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜访吸血鬼 2022-09-08 17:31:29

我刚刚遇到过这个问题, 微信里测试一直报40029错误
后来偶尔发现, 我每次点击菜单进网页就不会报错, 而在微信里刷新网页就会出现40029,
是不是和我一样,在微信里通过刷新网页调试接口的?试试从微信进入网页
如果这样解决的话, 那就是重复利用了CODE,
微信文档里说:

每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期

这个用户授权带上的code将不一样也能好好利用下,来调试这个bug.

月牙弯弯 2022-09-08 17:31:29

我现在也遇到了相同的问题。到现在还没有解决!如果你已经解决了,可否不吝赐教?

丢了幸福的猪 2022-09-08 17:31:29

调试接口的时候后端返回{"msg":"40029:不合法的oauth_code","code":500}
修改 微信开发者工具右上角详情->基本信息->AppId
AppId修改一致后ok

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文