Facebook登录后获取用户数据

时间:2011-07-29 16:15:27

标签: facebook facebook-graph-api

我有这个页面,我正在测试

http://www.comehike.com/test_fb_connect.php

按钮工作正常 - 它可以让我登录和退出Facebook,但我对这个用户一无所知,所以它有点毫无意义。

我需要做什么从他们的FB中提取他们的first_name,last_name,email,lat,lng。 之前我有这样的代码,但它只是破坏了我的网站:

$message = "Apps on Facebook.com are cool!";

$feed_url = "http://www.facebook.com/dialog/feed?app_id=".$app_id."&redirect_uri=" . urlencode($canvas_page)
                . "&message=" . $message;

 if (empty($_REQUEST["post_id"])) {
    echo("<script> top.location.href='" . $feed_url . "'</script>");
 } else {
    echo ("Feed Post Id: " . $_REQUEST["post_id"]);
 }

如何提取帐户所需的数据?

顺便说一下,我的FB登录按钮设置如下:

<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=my_id&amp;xfbml=1">
</script><fb:login-button show-faces="false" perms="user_hometown,user_about_me,email,user_address" autologoutlink="true" width="200" max-rows="1">
</fb:login-button>

谢谢!

1 个答案:

答案 0 :(得分:4)

用户通过身份验证后,您可以针对特殊me对象进行图形调用:

<强> PHP

$json = file_get_contents('https://graph.facebook.com/me');
$detailObj = json_decode($json);
var_dump($detailObj);

<强>的JavaScript

FB.api('/me', function(response) {
  alert(response.name);  //response is the basic user object
});

More on FB.api

More on available graph objects