参考文档QQ互联接入指南:https://wiki.connect.qq.com/%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7openid_oauth2-0
首先需要在QQ互联注册成开发者之后创建应用并审核通过
由于在网上没有找到app端qq授权登录相关文档,基本上都是网站开发接入,因此本文直接参考QQ互联官网网站接入文档,在与IOS技术人员沟通的时候,因其不能提供Authorization Code,因此步骤直接从以Access Token获取OpenID开始。
相关代码如下:
private static final String QQ_AUTH_OPENID_URL = "https://graph.qq.com/oauth2.0/me";
private static final String QQ_INFO_URL = "https://graph.qq.com/user/get_user_info";
private static final String QQ_APPID = "*********";
StringBuffer openIdUrl = new StringBuffer();
openIdUrl.append(QQ_AUTH_OPENID_URL)
.append("?access_token=").append(accessToken);
String url = openIdUrl.toString();
// 获取openId
String result = HttpKit.get(url);
String resu = result.substring(10, result.length()-2);
JSONObject jo = JSONObject.parseObject(resu);
String openId = jo.getString("openid");
StringBuffer infoUrl = new StringBuffer();
infoUrl.append(QQ_INFO_URL)
.append("?access_token=").append(accessToken)
.append("&oauth_consumer_key=").append(QQ_APPID)
.append("&openid=").append(openId);
String url1 = infoUrl.toString();
// 获取用户信息
String result1 = HttpKit.get(url1);
JSONObject jo1 = JSONObject.parseObject(result1);
String nickname = jo1.getString("nickname");
String gender = jo1.getString("gender");
......