java qq授权登录开发者_Java QQ授权第三方登陆

QQ互联官网

注册开发者,创建应用,创建好的应用我们有我们需要的三个参数,APPID、APPKey、回调地址

9edf75f8ecba?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

APPID、APPKey、回调地址.png

这里验证不需要通过,随便填做测试就可以,等上线改就可以了。不过只能自己的QQ授权。

官方已经不再提供Java的SDK了,只有JS和PHP的。我这里是在网上搜以前的JavaSDK。

这里填写的时候注意空格,有空格有可能获取不到AccessToken。

9edf75f8ecba?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

qqconnectconfig.properties.png

//QQ的pom:

net.gplatform

Sdk4J

2.0

//拼接URL

@RequestMapping("/qqLogin")

public String QQLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {

String authorizeUrl = (new com.qq.connect.oauth.Oauth().getAuthorizeURL(request));

System.err.println("url>>>> " + authorizeUrl);

return "redirect:" + authorizeUrl;

}

授权后跳转回调地址

@Override

public Result qqLogin(HttpServletRequest request, HttpServletResponse response) throws IOException, QQConnectException {

AccessToken accessTokenObj = (new Oauth()).getAccessTokenByRequest(request);

String accessToken = null, openID = null;

// 用户授权的时候取消了

if (accessTokenObj.getAccessToken().equals("")) {

System.out.print("没有获取到响应参数");

return null;

}

accessToken = accessTokenObj.getAccessToken();

// 用户QQ的个人信息

OpenID openIDObj = new OpenID(accessToken);

openID = openIDObj.getUserOpenID(); // onpenId是QQ用户的唯一标示

UserInfo qzoneUserInfo = new UserInfo(accessToken, openID);//TOKEN

UserInfoBean userInfoBean = qzoneUserInfo.getUserInfo();

String nickname = userInfoBean.getNickname();//用户在QQ空间的昵称。

String avatar = userInfoBean.getAvatar().getAvatarURL100(); //头像集合,大小:30、50、100 /*String gender = userInfoBean.getGender(); //性别。 如果获取不到则默认返回"男"、String msg = userInfoBean.getMsg(); //如果ret<0,会有相应的错误信息提示,返回数据全部用UTF-8编码。、Integer level = userInfoBean.getLevel();、Integer ret = userInfoBean.getRet(); //返回码*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值