获取有关PHP的facebook用户信息

时间:2010-01-10 09:02:44

标签: php facebook fbml

在这个简单的php文件中:(http://gist.github.com/273402

<?php
session_start();
include_once 'libraries/facebook/facebook.php';

//$fb_user=$facebook->get_loggedin_user();
?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script>
<script type="text/javascript">
    FB.init("PUBLIC_KEY", "http://localhost/xd_receiver.htm",{"reloadIfSessionStateChanged":true});
</script>
</head>
<body>
<h1>User index</h1>
<fb:login-button onlogin="window.location.reload(true)"></fb:login-button>
<fb:profile-pic uid="loggedinuser" size="square" facebook-logo="true"></fb:profile-pic>
<?php
$facebook = new Facebook("PUBLIC_KEY","SECRET");
    if($facebook->get_loggedin_user()){
      echo "logged";
    } else {
      echo "not-logged";
    };

    ?>
</body>
</html>

我无法获得$ facebook-&gt; get_loggedin_user(),但FBXML会渲染个人资料照片,为什么?

如何在PHP中获取用户信息,而不是在JS?

2 个答案:

答案 0 :(得分:1)

似乎你不能将localhost用作域/测试平台。

在fb应用程序设置中将localhost更改为有效域,并将http://localhost/xd_receiver.htm更改为有效

答案 1 :(得分:0)

您可以使用“users_getInfo”检索许多信息:

  

$ user_details = $ fb-&gt; api_client-&gt; users_getInfo($ fb_user,array('last_name','first_name','pic_square'));

但首先必须让登录工作。你在Facebook上创建了应用程序吗?你复制了xd接收器吗?我不知道是否允许localhost。

这是我写的tutorial