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!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

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

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...