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

微信公众平台开发:出现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

请问各位:我这样写问题出现在哪?


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

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

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


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

【热门文章】
【热门文章】