需要了解的几个url
用户第一次访问时的url,包含以下几个参数
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http%3A//www.example.com/wechat8008/index&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect
下图为scope等于snsapi_userinfo时的授权页面:
用户同意授权后访问的url,该url会访问你的视图函数
http://www.example.com/wechat8008/index?code=021ci0np18bW0j0IpHnp1eXGmp1ci0ns&state=1
如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数redirect_uri?state=STATE
以上是同意授权的示例url,该url会访问你的视图函数,只需要留意获取code参数
通过code换取网页授权access_token的请求url
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
该url包含4个参数:
其中appid和secret在填写你自己公众号设置里的的实际参数,
code是前面访问时带过来的url参数,获取之code = request.args.get(“code”)
grant_type=authorization_code固定写法
url = “https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code” % (WECHAT_APPID, WECHAT_APPSECRET, code)
我这里用urllib2发送请求 response = urllib2.urlopen(url)
返回值为一个响应体数据,解析之resp_dict = json.loads(response.read())
正确时返回的JSON数据包如下:
如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:688244617
{
"access_token":"ACCESS_TOKEN"