资源简介
linkin 微博 有测试过,新浪应该也没问题,facebook没有测试
代码片段和文件信息
package com.qingwen.app.login.controller;
import java.io.IOException;
import java.util.HashMap;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONobject;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.qingwen.app.login.util.facebook.FacebookUtil;
import com.qingwen.app.login.util.facebook.HttpClientUtil;
import com.qingwen.common.util.baseAction;
import com.qingwen.common.util.Common;
/**
* http://blog.csdn.net/manongxiaomei/article/details/66475378?winzoom=1
* @ClassName: TestController
* @Description: FaceBook第三方登录
* @date Mar 15 2017
* 1登录Facebook官网注册一个开发者账号:https://developers.facebook.com/
2 创建一个应用(APPS)
3在自己创建的应用中可以看到自己的应用编号和应用密钥
4在设置中可以创建一个回调,这个是回调地址,比如http://localhost:8080/facebookLogin
5获取code值:https://www.facebook.com/dialog/oauth?client_id=应用编号&redirect_uri=回调地址&code=,这时在地址栏上会出现一长串code
6获取access_token:https://graph.facebook.com/oauth/access_token?client_id=应用编号&redirect_uri=回调地址&client_secret=应用密钥&code=刚才获取到的code
7获取用户资料:https://graph.facebook.com/me?access_token=刚才获取到的access_token,得到用户的id和name
*/
@Controller
@RequestMapping({“/facebook“})
public class FacebookController extends baseAction{
//表示取得的用户信息的权限范围
private static String scope = “user_about_meemailread_stream“;
//获取临时口令
private static String code_url=“https://www.facebook.com/v2.8/dialog/oauth“;
//获取用户信息
private static String user_url=“https://graph.facebook.com/me“;
//验证口令
private static String verify_url=“https://graph.facebook.com/debug_token“;
//获取应用口令
// //第一步访问登录页面
@RequestMapping(value=“/index“)
public String toIndex(HttpServletRequest request){
return “facebooklogin“;
}
/**
* @throws IOException
* @title: doLogin
* @Description: 调用“登录”对话框和设置重定向网址
* @return void 这个就是在应用中定义的跳转网址,也就是重定向第二步之后回调的地址,并且带上了code参数
* @date Mar 17 2017 9:29:03 AM
* @throws
*/
@RequestMapping(value=“/doLogin“)
@ResponseBody
public object doLogin(HttpServletRequest requestHttpServletResponse response) throws IOException{
String code = request.getParameter(“code“); //第二步获取code,迷糊的同学往下看,方法上也有对应的步骤
if(StringUtils.isNotBlank(code)){
String accessToken = FacebookUtil.getFacebookAccessToken(code);//第三步,用code(临时口令)换取accessToken
JSONobject userInfo=null;
if(StringUtils.isNotBlank(accessToken)){
userInfo = getUserInfo(accessToken);//第四步,用accessToken获取用户信息
}else{
System.out.println(“accessToken is null“);
}
System.out.println(userInfo);
return userInfo;
//对用户信息进行处理
}else{
return “/code“;
}
}
/**
* @throws ServletException
* @throws IOException
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 829 2017-06-16 16:31 test_login\.classpath
文件 1335 2017-06-20 14:31 test_login\.project
文件 522 2017-05-31 09:56 test_login\.settings\.jsdtscope
文件 1009 2017-06-07 11:05 test_login\.settings\com.genuitec.eclipse.j2eedt.core.prefs
文件 162 2017-06-20 14:33 test_login\.settings\org.eclipse.core.resources.prefs
文件 598 2017-06-16 16:26 test_login\.settings\org.eclipse.jdt.core.prefs
文件 106 2017-06-07 11:05 test_login\.settings\org.eclipse.ltk.core.refactoring.prefs
文件 481 2017-06-07 11:05 test_login\.settings\org.eclipse.wst.common.component
文件 414 2017-06-07 11:05 test_login\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2017-05-31 09:56 test_login\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2017-05-31 09:56 test_login\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 7096 2017-06-06 20:15 test_login\src\com\qingwen\app\login\controller\FacebookController.java
文件 5071 2017-06-20 14:35 test_login\src\com\qingwen\app\login\controller\li
文件 1610 2017-06-02 10:37 test_login\src\com\qingwen\app\login\controller\WbLoginController.java
文件 4822 2017-06-20 14:39 test_login\src\com\qingwen\app\login\controller\WchatController.java
文件 3006 2017-06-06 20:14 test_login\src\com\qingwen\app\login\util\facebook\FacebookUtil.java
文件 4942 2017-06-07 11:24 test_login\src\com\qingwen\app\login\util\facebook\HttpClientUtil.java
文件 573 2017-06-16 14:05 test_login\src\com\qingwen\app\login\util\wchat\BeanFactoryContext.java
文件 3128 2017-06-16 10:36 test_login\src\com\qingwen\app\login\util\wchat\WeiChatAPI.java
文件 1696 2017-06-20 14:39 test_login\src\com\qingwen\app\login\util\wchat\WeixinFinalValue.java
文件 1241 2017-06-16 10:34 test_login\src\com\qingwen\app\login\util\wchat\WeixinKit.java
文件 3417 2017-06-16 16:53 test_login\src\com\qingwen\app\login\util\wchat\WeixinUtil.java
文件 3790 2017-06-02 09:48 test_login\src\com\qingwen\app\login\util\weibo\Account.java
文件 14508 2017-06-02 09:50 test_login\src\com\qingwen\app\login\util\weibo\Comments.java
文件 10773 2017-06-02 10:04 test_login\src\com\qingwen\app\login\util\weibo\Favorite.java
文件 23931 2017-06-02 09:50 test_login\src\com\qingwen\app\login\util\weibo\Friendships.java
文件 2669 2017-06-02 09:43 test_login\src\com\qingwen\app\login\util\weibo\http\AccessToken.java
文件 4276 2017-06-01 20:41 test_login\src\com\qingwen\app\login\util\weibo\http\ba
文件 28021 2017-06-01 20:41 test_login\src\com\qingwen\app\login\util\weibo\http\HTMLEntity.java
文件 17020 2017-06-02 09:54 test_login\src\com\qingwen\app\login\util\weibo\http\HttpClient.java
............此处省略358个文件信息
相关资源
- sap gui for java ubuntu11
- java Aspose Pdf pdf文档转换 破解版
- JAVA毕业设计项目-CRM客户关系管理系统
- java框架jar包整理绝对最全
- java 用文件实现的学生成绩管理系统
- 店客房管理信息系统——基于Java开发
- 进销存java源代码分享
- 最新-数据结构(java版)第4版本-叶核
- java实现word在线编辑及流转
- javaweb员工管理.zip
- JSP网上书店文档+代码+数据库
- 基于Javaweb的餐厅点餐系统源码+数据库
- JavaSE项目
- javaWeb商城源码加数据库
- 基于web的论坛BBS
- 基于java的企业车辆管理系统设计与实
- 基于Java的学校试卷生成系统设计与实
- 基于javaweb的员工管理系统
- Java实现联网对战俄罗斯方块游戏
- 基于Java的中国地图着色演示程序
- JAVA JSP实验室设备管理系统
- 基于java的通讯录项目
- 银行管理系统javaweb+ssh+mysql+tomcat
- ssm整合完整jar包
- 《这样学Java不枯燥》视频教程
- 基于JSP的旅游网站设计的设计与实现
- java web项目-轿车售卖管理系统含数据
- JAVAWEB基于SSH2学生信息管理系统源码
- 基于JSP+SQL技术的飞机票网上订票系统
- java物流管理系统
评论
共有 条评论