小坑:在登陆之后,调用获取用户信息接口,结果不成功,经排查,需要在登陆成功之后设置:
mTencent.setOpenId(openID);
mTencent.setAccessToken(accessToken, expires);
完全代码如下:
先登录:
- //如果session无效,就开始登录
- if (!mTencent.isSessionValid()) {
- //开始qq授权登录
- mTencent.login(MainActivity.this, scope, loginListener);
- }
可获取值:
{
"ret":0,
"pay_token":"xxxxxxxxxxxxxxxx",
"pf":"openmobile_android",
"expires_in":"7776000",
"openid":"xxxxxxxxxxxxxxxxxxx",
"pfkey":"xxxxxxxxxxxxxxxxxxx",
"msg":"sucess",
"access_token":"xxxxxxxxxxxxxxxxxxxxx"
}
然后
mTencent.setOpenId(openID);
mTencent.setAccessToken(accessToken, expires);
- userInfo = new UserInfo(MainActivity.this, mTencent.getQQToken());
- userInfo.getUserInfo(userInfoListener);
然后就可以获取用户资料了:
{
"is_yellow_year_vip": "0",
"ret": 0,
"figureurl_qq_1":
"http://q.qlogo.cn/qqapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/40",
"figureurl_qq_2":
"http://q.qlogo.cn/qqapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/100",
"nickname": "小罗",
"yellow_vip_level": "0",
"msg": "",
"figureurl_1":
"http://qzapp.qlogo.cn/qzapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/50",
"vip": "0",
"level": "0",
"figureurl_2":
"http://qzapp.qlogo.cn/qzapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/100",
"is_yellow_vip": "0",
"gender": "男",
"figureurl":
"http://qzapp.qlogo.cn/qzapp/222222/8C75BBE3DC6B0E9A64BD31449A3C8CB0/30"
}