使用Javascript获取Facebook用户个人资料数据

lis*_*aro 19 javascript facebook

我需要用Javascript获取facebook用户uid,性别,照片和其他个人资料数据.

我记得有一种方法可以使用.id,.gender,.photo来获取用户对象但是我没有API调用的副本,我在文档中找不到解释.

如何使用Javascript获取用户的UID和性别?

谢谢

use*_*961 22

FB.getSession()2011年该问题的接受答案中使用的函数现在(2012)已弃用并从Facebook JS SDK中删除.

您仍然可以使用以下getLoginStatus()方法发现用户的Facebook ID :

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    alert ("Your UID is " + response.authResponse.userID);
  }
});
Run Code Online (Sandbox Code Playgroud)

注意:您仍然必须初始化Facebook API并将fb-root元素放在HTML中,就像Aleadam在接受的答案中解释的那样.


Ale*_*dam 20

更新:我在答案中添加了更多细节:

首先,您需要调用FB.init并添加您的应用ID:

FB.init(
{
    appId  : APP_ID,
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true  // parse XFBML
});
Run Code Online (Sandbox Code Playgroud)

接下来,检查是否有会话打开(即用户已登录)

if(FB.getSession() != null) {
Run Code Online (Sandbox Code Playgroud)

并通过以下方式查询详情:

    FB.api('/me', function(response) 
    {
        alert ("Welcome " + response.name + ": Your UID is " + response.id); 
    });
}
Run Code Online (Sandbox Code Playgroud)

您还需要添加<div id="fb-root"></div><body>页面中并加载<script src="http://connect.facebook.net/en_US/all.js"></script>

用户个人资料图片可以访问为 http:/graph.facebook.com/USERID/picture/

请查看此处的Graph API参考:http://developers.facebook.com/docs/reference/api/user/

和FB SDK参考:http://developers.facebook.com/docs/reference/javascript/