$ facebook-> getSession()调用中断调用页面

时间:2011-07-29 17:12:43

标签: facebook facebook-graph-api

我有这个代码用Facebook记录人们:

<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=my_app_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>

<?php

if($facebook->getSession())
{
 // Nothing here yet
}

?>

但是对$ facebook-&gt; getSession()的调用似乎打破了页面。此调用下方没有任何内容显示。知道为什么吗?或者我做错了什么?

以下是我要测试此内容的页面: http://www.comehike.com/test_fb_connect.php

1 个答案:

答案 0 :(得分:3)

如果这是您的整个PHP文件,那么您的引用$facebook尚未声明。您需要包含PHP SDK的位置,然后使用您的appID和机密初始化$facebook。此格式已在PHP SDK的v3.0.0中找到here

V 2.2.X

require '../src/facebook.php';

$facebook = new Facebook(array(
      'appId'  => '12345678910',
      'secret' => '*****************************',
    ));

$session = $facebook->getSession();
if ($session) {
  // proceed knowing you have a valid user session
} else {
  // proceed knowing you require user login and/or authentication
}

V 3.0.0

require '../src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => '12345678910',
  'secret' => '*****************************',
));

$user = $facebook->getUser();
if ($user) {
  // proceed knowing you have a logged in user who's authenticated
} else {
  // proceed knowing you require user login and/or authentication
}