一: 页面授权
a. 通过用户授权接口获取code作为换取access_token的票据
有俩种方式:
1.snsapi_base用户无感知,获取openid(用户唯一标识)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect
2.snsapi_userinfo发起页面授权,用来获取用户的基本信息.
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
b. 用户同意授权后,页面将跳转至 redirect_uri/?code=CODE&state=STATE。
获取code后,请求以下链接获取access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
返回数据
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN", // 用户刷新access_token
"openid":"OPENID", // 用户唯一标识
"scope":"SCOPE"
}
c. 刷新access_token(如果需要)
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
二: 获取用户信息
a.拉取用户信息(需scope为 snsapi_userinfo)
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
返回数据
{
"openid":" OPENID", //用户的唯一标识
" nickname": NICKNAME, //用户昵称
"sex":"1", //用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
"province":"PROVINCE", // 用户个人资料填写的省份
"city":"CITY", //普通用户个人资料填写的城市
"country":"COUNTRY", //国家,如中国为CN
"headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46", //用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
"privilege":[ "PRIVILEGE1" "PRIVILEGE2" ], //用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL", //只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
}