java web网站集成新浪微博登录

  次阅读 来源:互联网(转载协议) 2016-01-19 13:02 我要评论(0)

给网站添加第三方登录的功能,研究了下新浪微博登录的接口,本来想使用它提供的那种js代码库的方式,结果始终搞不定,由于不精通js只能够放弃。下载了个java的SDK包:weibo4j-oauth2-beta2.1.1,研究了下,虽然出了一些问题,但还是很快集成到网站里面了。

首先,把一些必要的包和java类负责到自己的工程文件:

java web网站集成新浪微博登录 三联

修改config文件里面的client_ID,client_SERCRET,redirect_URI。

自己在登录页面写一个微博登录按钮,超链接到名字为OAuth4Code的servlet。

import weibo4j.Oauth;

import weibo4j.model.WeiboException;

import weibo4j.util.BareBonesBrowserLaunch;

public class OAuth4Code extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

Oauth oauth = new Oauth();

try{

BareBonesBrowserLaunch.openURL(oauth.authorize("code",""));

}catch(WeiboException e){

System.out.println(e);

}

}

登录成功之后会跳转到config文件里面的redirect_URI。

我重定向的也是一个servlet,核心代码如下:

String code = request.getParameter("code");

try{

Oauth oauth = new Oauth();

//

AccessToken token = oauth.getAccessTokenByCode(code);

String token = oauth.getAccessTokenByCode(code).toString();

System.out.println(token);

//

String accessToken = token.getAccessToken();

// String uid = token.getUid();

// System.out.println(accessToken);

// System.out.println(uid);

String str[] = token.split(","); //截取字符串,获得sccessToken和uid

String accessToken= str[0].split("=")[1];

System.out.println(accessToken);

String str1[] = str[3].split("]");

String uid = str1[0].split("=")[1];

System.out.println(uid);

session.setAttribute("accessToken", accessToken);

session.setAttribute("uid", uid);

Users um = new Users();

um.client.setToken(accessToken);

User user = um.showUserById(uid);

String screenName = user.getScreenName(); //获得到用户昵称

session.setAttribute("name", screenName);

}catch(WeiboException e){

System.out.println(e);

}

本来想通过AccessToken 类来获取uid和token,结果会出现code错误之类的现象,只能辛苦的自己分割了。成功获取到uid和token之后就可以根据实例代码自己改了,我是获取了用户昵称

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 第一批国家重点研发计划公布,旷视科技开启“五年行动”

    第一批国家重点研发计划公布,旷视科技开启“五年行动”

  • 品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

    品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

  • 让AI触手可及  Qualcomm携手创通联达推出全新终端侧AI开发套件

    让AI触手可及 Qualcomm携手创通联达推出全新终端侧AI开发套件

  • 长虹新款智能语音空调,告诉你空调也能玩Siri

    长虹新款智能语音空调,告诉你空调也能玩Siri

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...