一、微信网页授权获取用户openid以及用户信息的步骤
1、首先在接口权限列表中作如下设置(必须配置)
进入功能服务-》网页账号-》网页授权获取用户基本信息后点击“修改”进入OAuth2.0页面,填写授权回调页面域名必须为www.qq.com/qq.com.
2、通过
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
获取code.
需要两个参数:redirect_uri、scope
(redirect_uri要进行urlencode编码)
授权后重定向的回调链接地址(必须是urlencode之后的字符串)
redirect_uri=http%3A%2F%2Fqq.com%2Ftest%2Ftest.html
授权作用域
scope=snsapi_base(不弹出授权页面,直接跳转,只能获取用户openid)
scope=snsapi_userinfo(弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)
3、获取code
用户同意授权之后跳转至
http://www.qq.com/test/test.html?code=001866c22395b38558f57b9f2763124n&state=
4、通过code换取网页授权access_token和openid
获取code后,请求以下链接获取access_token和openid:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
5、刷新access_token(如果需要)
6、拉取用户信息(需scope为 snsapi_userinfo)
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
备注:提供的demo有两个注意点:
1、sendHttpRequest方法为自己封装的http get请求方法而已,但该方法必须实现跨域请求,这里就没有贴出来了。
2、需要在微信公众号的菜单中配置url地址为:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http%3a%2f%2fzhengshan.com.cn%2ftest%2fweixin%2ftest.html&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
其中appid为自己微信公众号的APPID
redirect_uri为自定义菜单的url,且值为该url的urlencode值。
- 1
- 2
- 3
前往页