您的位置:首页 > 移动开发 > 微信开发

微信公众平台——获取用户信息

2016-04-28 10:04 274 查看
第一次握手,获取code(code根据用户随机产生,在网页中缓存,注意这个code并不是微信的id):访问:https://open.weixin.qq.com/connect/oauth2/authorize?appid=*****&redirect_uri=http://XXXX/WeiXin/Auth/GetUserInfo&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect

appid=wxdc744fc7fda7898f:公众号id;

redirect_uri:回调网址

response_type:返回值简

单来说就是,拿公众号,去访问weixin网址,告诉它你要authorize(授权),于是它返回给你一个code

第二次握手,获取Access_token访问:"https://api.weixin.qq.com/sns/oauth2/access_token?appid="
+ appId + "&secret=" + appSecret + "&code=" + code + "&grant_type=authorization_code";

appid:公众号id;

appsecret:公众号的密钥
;

注意这里的公众号id和密钥不是登录名和密码code:第一次握手获取的code

Grant_type:告诉微信你的授权类型是用code换取Access_token

第三次握手,拉取用户信息访问:"https://api.weixin.qq.com/sns/userinfo?access_token="
+ accessToken + "&openid=" + openId + "&lang=zh_CN";

Access_token:第二次握手获取的access_token

Openid:第一次握手获取的code

Lang:语言,这里是中文在访问路径中可以读出

功能:拿access_token 和openid换取userinfo(用户信息)。且返回的参数语言为中文

需要注意的是:获取的用户openid是微信公众号与用户微信号加密后仅对该公众号可用的唯一的id

**返回值**

返回的数据类型:Json

第一次返回参数:code

第二次正确的返回参数:{

"access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"scope":"SCOPE"}

第三次正确的返回参数:

{
"openid":" OPENID",

"
nickname": NICKNAME,

"sex":"1",

"province":"PROVINCE"

"city":"CITY",

"country":"COUNTRY",

"headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",

"privilege":[
"PRIVILEGE1"
"PRIVILEGE2"
],

"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: