WEB开发网
开发学院软件开发Java java web网站集成新浪微博登录 阅读

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

 2013-08-19 21:34:26 来源:WEB开发网   
核心提示: 给网站添加第三方登录的功能,研究了下新浪微博登录的接口,java web网站集成新浪微博登录,本来想使用它提供的那种js代码库的方式,结果始终搞不定,只能辛苦的自己分割了,成功获取到uid和token之后就可以根据实例代码自己改了,由于不精通js只能够放弃,下载了个java的SDK包:weibo4j-oauth2-b

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

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

修改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之后就可以根据实例代码自己改了,我是获取了用户昵称。

Tags:java web 网站

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接