`
宙王仆
  • 浏览: 3350 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

第三方登录之QQ登录

阅读更多
1.进入腾讯QQ互联网站http://connect.qq.com/ 申请APP KEY(此处不详解)
拿到

APP ID
APP KEY
2.下载SDK(http://qzonestyle.gtimg.cn/qzone/vas/opensns/res/doc/qqConnect_Server_SDK_java_v2.0.zip)
解压将Sdk4J.jar放到你lib目录下,将qqconnectconfig.properties文件放在source目下
修改此文件中的
app_ID = 100****(请修改此处  为你申请的APP ID)
app_KEY = ******(请修改此处 为你申请的APP KEY)
redirect_URI = ***********(请修改此处 此处为登陆成功后请求的uri)
3在页面上放置<a href='/qq-login.html'> 点此发送后台请求,
        @RequestMapping(method=RequestMethod.GET,value="qq-login")
public String qqLogin(HttpServletRequest request){
String url = null;
try {
url = new Oauth().getAuthorizeURL(request);
} catch (QQConnectException e) {
e.printStackTrace();
}
return "redirect:" + url;
}
        请求跳转到QQ授权页 授权成功后将返回我们配置redirect_URI请求,
        @RequestMapping(method=RequestMethod.GET,value="qq-redirect")
public String qqRedirect(){
return "redirect:main.html";
}
        此处已经登录成功返回我们自己的页面。
       这样还不够,因为我们还需要拿到QQ返回给我们的信息。请看下面,
      我写了个如下的方法
      try {
AccessToken accessTokenObj = new Oauth().getAccessTokenByRequest(request);
if(StringUtils.isBlank(accessTokenObj.getAccessToken())){
throw new ServiceException("QQ登陆失败");
}
String token = accessTokenObj.getAccessToken();
OpenID openIdObj = new OpenID(token);
String openID = openIdObj.getUserOpenID();
com.qq.connect.api.qzone.UserInfo qzoneUserInfo = new com.qq.connect.api.qzone.UserInfo(token, openID);
UserInfoBean userInfoBean = qzoneUserInfo.getUserInfo();
if(userInfoBean.getRet() == 0) {
UserInfo userInfo = new UserInfo();
userInfo.setUserName(userInfoBean.getNickname());
userInfo.setSex(userInfoBean.getGender());
userInfo.setIcon(userInfoBean.getAvatar().getAvatarURL50());
com.qq.connect.api.weibo.UserInfo weiboUserInfo = new com.qq.connect.api.weibo.UserInfo(accessToken, openID);
        com.qq.connect.javabeans.weibo.UserInfoBean weiboUserInfoBean = weiboUserInfo.getUserInfo();
        if (weiboUserInfoBean.getRet() == 0) {
        Calendar cal = Calendar.getInstance();
        cal.set(weiboUserInfoBean.getBirthday().getYear(), weiboUserInfoBean.getBirthday().getMonth(), weiboUserInfoBean.getBirthday().getDay());
        userInfo.setBirthday(cal.getTime());
             //System.out.println("<p>所在地:" + weiboUserInfoBean.getCountryCode() + "-" + weiboUserInfoBean.getProvinceCode() + "-" + weiboUserInfoBean.getCityCode()
             //         + weiboUserInfoBean.getLocation());
         }
}

}
throw new ServiceException(userInfoBean.getMsg());
} catch (QQConnectException e) {
throw new ServiceException(e.getMessage());
}

我们就拿到了QQ信息 由于QQ号我们是拿不到的,但我们可以通过openID来辨识。
qqConnect_Server_SDK_java_v2.0.zip 中有些例子不懂的可以去看看 。


附(在本人申请app key的过程中出现了一个小插曲,由于授权成功返回的请求页面上没有显示QQ的昵称,一直不给我审核通过,但却提示登录图标放置不正确。最后问客服才知道不是这个问题,希望后来人不要走弯路)

欢迎访问宙王仆http://www.zhouwangpu.com/login.html查看实例
  • 大小: 4.1 KB
分享到:
评论

相关推荐

    PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。.zip

    PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。 PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。 PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。 ...

    第三方登陆包含qq微信微博

    在现代的互联网应用中,第三方登录已经成为一种常见的用户身份验证方式。它允许用户通过已有的社交媒体账号(如QQ、微信、微博)来快速注册或登录到其他网站或应用,为用户提供便利,同时也降低了应用程序的注册和...

    qq第三方登陆web版

    QQ第三方登录在Web应用中的实现是...总的来说,"qq第三方登陆web版"项目涵盖了Web开发中的用户认证、OAuth2.0授权协议的使用、前后端交互以及安全策略等多个重要知识点,是一个典型的Web应用集成第三方登录的实践案例。

    python QQ第三方登陆

    Python中的QQ第三方登录实现主要依赖于腾讯开放平台提供的OAuth2.0协议,这是一种授权机制,允许第三方应用在用户授权的情况下获取其在QQ账号的相关信息。本文将深入探讨如何使用Python来构建QQ第三方登录功能。 ...

    Springboot qq第三方登陆

    在本文中,我们将深入探讨如何在Spring Boot应用中集成QQ第三方登录功能,以及如何实现热部署以方便开发过程。QQ第三方登录允许用户使用他们的QQ账号登录到你的网站或应用,提高了用户体验并简化了注册流程。 首先...

    QQ第三方登录接口for.net

    在提供的"QQ登录集成DEmo"文件中,可能包含了实现以上步骤的示例代码和详细说明,帮助开发者快速理解和接入QQ第三方登录。通过研究和理解这个DEmo,开发者可以了解到如何在.NET项目中实际操作这些步骤,从而在自己的...

    微信QQ第三方登陆

    本篇将详细介绍微信和QQ如何实现第三方登录的集成。 首先,我们来看微信第三方登录的实现。微信开放平台提供了SDK和服务,让开发者可以轻松地将微信登录功能接入到自己的应用中。以下是一些关键步骤: 1. **注册...

    ios 第三方登陆 QQ登录 微信登录 新浪登录

    标题中的“ios 第三方登陆 QQ登录 微信登录 新浪登录”指的是在iOS应用中实现这三种常见社交媒体的登录接口。下面将详细解释这个过程涉及的关键知识点。 1. **OAuth授权协议**:QQ、微信、新浪等社交平台通常采用...

    Android qq,微信的第三方登陆

    这个是Android qq,微信的第三方登陆,但是没做好,无法演示效果。使用需要替换为自己的友盟appKey和自己的qq的key和微信的appkey

    第三方登陆 qq 新浪微博

    QQ和新浪微博都是中国流行的社交媒体平台,它们提供了开放的API接口,允许开发者集成第三方登录功能。下面我们将深入探讨这个主题。 1. **QQ互联(QQ Open Platform)**:QQ互联是腾讯公司提供的一项服务,它允许...

    QQ第三方登陆 获取QQ昵称和QQ头像

    本项目标题为"QQ第三方登陆 获取QQ昵称和QQ头像",重点在于实现通过QQ账号登录并获取用户昵称和头像的功能,这对于提升用户体验和简化注册流程具有重要意义。 首先,我们需要理解QQ开放平台(QQ Connect)的工作...

    qq的第三方登陆

    下面我们将详细探讨如何在Android应用中实现QQ第三方登录,以及相关的关键知识点。 1. **QQ SDK集成**:首先,你需要下载并集成腾讯提供的SDK(Software Development Kit)到你的Android项目中。尽管描述提到不需要...

    第三方登陆

    首先,我们要理解第三方登录的工作原理。一般而言,第三方登录涉及到以下几个步骤: 1. **用户授权**:当用户选择使用第三方账号登录时,应用会跳转到相应的社交网络平台,例如淘宝或QQ。用户在该平台上进行授权,...

    qq第三方登陆

    在.NET开发环境中,实现QQ第三方登录主要涉及OAuth 2.0授权协议,以及腾讯提供的开放平台API。以下是关于这个主题的详细解释: 一、OAuth 2.0授权框架 OAuth 2.0是一个授权框架,允许第三方应用在用户授权的情况下...

    QQ第三方登陆实例

    在这个QQ第三方登录实例中,我们主要关注的是如何使用Java和JSP来实现这一功能。 首先,我们需要理解QQ第三方登录的基本原理。它基于OAuth 2.0授权框架,QQ开放平台提供了SDK(Software Development Kit)来帮助...

    java qq第三方登陆

    QQ第三方登录主要依赖于腾讯提供的开放平台(Open Platform)API,通过这些API,开发者可以实现与QQ账号系统的对接。 SDK4J是腾讯官方为Java开发者提供的QQ登录SDK,用于简化与QQ开放平台接口的交互。`Sdk4J.jar`是...

    THINKPHP最全第三方登录(包括腾讯QQ、微信、新浪微博、Github、淘宝网、百度、搜狐微博、人人、360、网易等等)

    THINKPHP最全第三方登录(包括腾讯QQ、微信、新浪微博、Github、淘宝网、百度、搜狐微博、人人、360、网易等等) 使用方式: 1、使用命名空间 use Org\ThinkSDK\ThinkOauth; 2、设置三方登录的类别并赋予一个变量 $...

    第三方应用登陆QQ以及微信功能

    在IT行业中,第三方应用登录QQ和微信的功能是常见的社交整合需求。这允许用户使用他们在QQ或微信上的账户信息快速注册或登录到第三方应用,提供便捷的用户体验。这一过程涉及到多种技术,包括OAuth2协议、Spring ...

    QQ第三方登陆完整例子

    在这个QQ第三方登录的完整示例中,我们将深入探讨其工作原理、实现流程以及相关的技术要点。 1. **工作原理**: QQ第三方登录的核心是OAuth2.0协议,它定义了授权流程,使得应用可以安全地获取用户的个人信息。...

Global site tag (gtag.js) - Google Analytics