总体来说有三步:
1. 用户同意授权,获取到code。
地址:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect
参数说明:
1.appid=APPID(公众号唯一标识)
2.redirect_uri=REDIRECT_URI(授权后重定向的回调链接地址)
3.response_type=code(返回类型,无需更改)
4.scope=SCOPE(snsapi_base ,不弹出授权页面,直接跳转,只能获取用户openid,snsapi_userinfo 弹出授权页面,可通过openid拿到昵称、性别、所在地。)
5.state=STATE(重定向后会带上state参数,开发者可以填写任意参数值)
6.#wechat_redirect(无需更改)
返回结果:
'******************************************'
2.使用code换取网页授权access_token(与基础支持中的access_token不同)。
地址:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
参数说明:
1.appid=APPID(公众号唯一标识)
2.secret=SECRET(公众号的appsecret)
3.code=CODE(第一步获取的code参数)
4.grant_type=authorization_code(无需更改)
返回结果(json格式数据):
{
"access_token": "*************",
"expires_in": 7200,
"refresh_token": "**************",
"openid": "*************",
"scope": "*"
}
结果解释:
access_token: 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_in : access_token接口调用凭证超时时间,单位(秒)
refresh_token: 用户刷新access_token
openid: 用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
scope: 用户授权的作用域,使用逗号(,)分隔
3.通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)。
地址:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
//返回值无subscribe
参数说明:
1.access_token=ACCESS_TOKEN(第2步获取的access_token参数,此access_token与基础支持的access_token不同)
2.openid=OPENID(第2步获取的openid参数)
3.langlang=zh_CN 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
返回结果(json格式数据):
{
"openid": "*******************************",
"nickname": "*****",
"sex": 0,
"language": "zh_CN",
"city": "***",
"province": "**",
"country": "CN",
"headimgurl": "****************************************",
"privilege": []
}
结果解释
openid: 用户的唯一标识
nickname: 用户昵称
sex: 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
province: 用户个人资料填写的省份
city: 普通用户个人资料填写的城市
country: 国家,如中国为CN
headimgurl: 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
privilege: 用户特权信息,是一个json 数组
网友评论