网站实现新浪微博登录

我为菜鸟、搞了几天,弄死人了。新浪aouth2.0的api没更新、让新手很不好受、我就吃了这个亏。特此写篇文章让新手们少受点苦。
1.网站要实现新浪微博登录必须去微博平台进行应用注册,地址为:http://open.weibo.com/authentication(我是建的网页应用登录)
2.填写基本信息
3.重点:在高级信息中有一项授权设置(这个为回调方法的地址、此地址要与java后台回调方法一样)
4.下载  http://code.google.com/p/weibo4j/ 下载weibo4j-oauth2-beta2.0  (附件也有)这个里面的源码跟1.0的还是有区别的。新浪貌似没有把这些修改之后的api更新。
5.把下载下来的weibo4j-oauth2-beta2.0引入myeclipse中。打成jar包
6.开始后台的开发了(我就说的通俗点了、不那么专业了。)。首先点击自己网站的连接或按钮必须跳到新浪登录界面(这个api上还是有。而且跟1.0是一样的)
"https://api.t.sina.com.cn/oauth2/authorize" +
"?client_id=" + test.getWBAppKey() +  //这个是你在新浪微博申请应用的时候有一个appkey
"&redirect_uri=" + callback +   //这个就是你回调函数的地址了。
"&response_type=code";

7.跳到登录页面

点击授权之后会请求回调地址callback 同时会返回code值 (这个值非常重要、授权就是根据这个值去获得用户的uid的)。
8.只需要完成功能的就直接看我下面的代码。想了解源码的可以去你刚刚下载的weibo4j-oauth2-beta2.0  里面看源码(这里我就不多说了、但是新浪api上面是没有的、只有1.0版本的)
String code = request.getParameter("code");//相当于验证码
Weibo weibo = new Weibo();
Oauth oauth = new Oauth();
weibo4j.http.AccessToken token = oauth.getAccessTokenByCode(code);//根据code得到accesstoken
weibo.setToken(token.getAccessToken());
Account account = new Account();
weibo4j.org.json.JSONObject json = account.getUid();//得到用户uid
weibo4j.Users users = new weibo4j.Users();
weibo4j.model.User user = users.showUserById(json.getString("uid"));//得到微博用户信息、可以用debug看








猜你喜欢

转载自chenqichenlin.iteye.com/blog/1485368
今日推荐