一、前言
1、说明Facebook App 注册创建流程。
2、使用JavaScript、Java抓取Facebook会员信息。
3、一些常用Facebook常用帮助链接。
二、创建Facebook APP
1、注册Facebook账号
2、登录Facebook账号,转到页面最下方找到(开发人员),如下图所示:
3、进入开发人员页面在最上方,点击应用->创建应用(APP),如下图所示:
4、配置APP信息,APPID 如下所示:
5、配置App信息,如下所示:
add App on Facebook
add 网站
status & Review 此步动作可以让你的的APP能够访问,前提条件需要绑定email。
三、javaScript访问Facebook
代码如下所示:
如下代码引入到页面中
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)){ return; } js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/all.js; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); window.fbAsyncInit = function() { FB.init({ appId: 你的APPID, status: true, cookie: true, xfbml: true, oauth: true }); };
官方详情地址:https://developers.facebook.com/docs/javascript/quickstart/v2.2
获取Facebook请求授权码(accessToken)的javaScript代码如下所示:
<a href="javascript:void(0)" onClick="oplogin()"></a>
function fblogin(){ FB.getLoginStatus(function(response) { //判断是否Facebook已登录 if (response.status === 'connected') { var userId = response.authResponse.userID; if($j.isEmptyObject(userId)){ alert('error'); return; } $j("#accessToken").val(response.authResponse["accessToken"]); }else{ //登录Facebook 然后回调fbloginSuccess FB.login(fbloginSuccess,{scope:'email,user_likes'}); return; } }); } function fbloginSuccess(){ FB.getLoginStatus(function(response) { if (response.status === 'connected') { var userId = response.authResponse.userID; if($j.isEmptyObject(userId)){ return; } $j("#accessToken").val(response.authResponse["accessToken"]); $j('#faceBookLogin').submit(); }else{ return; } }); }
其中的scope定义详情可以参照如下地址:
https://developers.facebook.com/docs/facebook-login/permissions/v2.2?locale=zh_CN
JAVA中使用accessToken访问Facebook代码如下所示:
public static void main(String[] args) {
BufferedReader reader = null;
try {
URL url = new URL("https://graph.facebook.com/me?access_token=" + "你的accessToken");
HttpURLConnection htturl = (HttpURLConnection) url.openConnection();
reader = new BufferedReader(new InputStreamReader(htturl.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}finally{
if(null != reader){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
四、常用链接地址
在线测试地址
https://developers.facebook.com/tools/javascript-console/
案例