微信开发平台-获取用户信息(一)

进行微信开发,业务需要,我们会获取用户的头像、openid、具体的身份信息等
简单介绍几个常用的比较容易混淆的id:
openid:每一个用户关注一个公众号就有一个openid
appid:就像QQ号一样,每一个公众号也有自己的号码,就是appid
appSecret:每一个账号对应一个密码,如果说appid是账号的的话,secret就是对应的密码。
unionid:一个用户关注了不同的公众号,openid是不同的,但是unionid唯一。
accessToken有两种:一种是使用AppID和AppSecret获取的access_token为全局Access Token,一种是OAuth2.0授权中产生的access_token 为授权Access Token
获取用户信息使用的是 通过OAuth2.0方式不弹出授权页面获得用户基本信息
通过 appid ,appSecrete,code获取 openid

 "https://api.weixin.qq.com/sns/oauth2/access_token?appid="+appid+"&secret="+secret+"&code="+code+"&grant_type=authorization_code", json.toString()   

结果为:

{"access_token":"VVra6NbpU03Hds4p5DJxPrOGqaizLAz9JWw5faiB1wW_fqTazeln_OENGPAcwLP67KOnjsrX5nTBRYMaL42G3ES5VDNAPX980F4AoK1Obw",
"expires_in":7200,
"refresh_token":"tNvTHqoxSqVpEmcjrwvs-r1kkzqSSVdOCAT9DEhaFceLPa2wphtQy2RfrIMAAn63J-FriUoAHBj_WmuC5wV7-ddkJ6rY08PxD9oUL2HFA-A",
"openid":"oe8qawbvhbUHoW43_480YIstu97w",
"scope":"snsapi_base",
"unionid":"oguLawlIHNnK0MGg7-BYhNgQYRww"}

这里会产生一个accessToken,这里的accessToken是授权token
在这里我使用的是全局token,通过appid和APPSecret获取
我们通过openid和access_token我们可以获取用户信息:

String result = HttpUtils.postJsonRequest("https://api.weixin.qq.com/cgi-bin/user/info?access_token="+accessToken+"&openid="+openid+"&lang=zh_CN", json.toString());

通过openid和accessToken可以获取用户信息

{"subscribe":1,
"openid":"oe8qawbvhbUHoW43_480YIstu97w",
"nickname":"安晴",
"sex":1,
"language":"zh_CN",
"city":"",
"province":"",
"country":"",
"headimgurl":"http://wx.qlogo.cn/mmopen/ty3pjfnjh620icJbDia5icTwQSziadlAwLpPbaNaGPQmXCoeqNlSKJyRiadBgHHTRic27WGpkdpgKwfylqusetHavZQ/0",
"subscribe_time":1433719915,
"unionid":"oguLawlIHmmK0MGg7-BYhNgQYRww",
"remark":"",
"groupid":0,"tagid_list":[]}

你可能感兴趣的:(微信开发)