Facebook->的getSession()

时间:2012-01-01 02:53:01

标签: php facebook

我有2个非常简单的脚本:

<?php

require_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'yyyyyyyyyyyyyyyyyyyy',
'cookie' => true,
));
?>

<?php
require_once 'config.php';
/* Get a valid session */
$session = $facebook->getSession();
$me = null;
if($session) {
/* Check if session is valid */
$me = $facebook->api('/me');
}
if ($me) {
echo 'User is logged in and has a valid session';
}
else {
echo 'Session expired or user has not logged in yet. 
Redirecting...';
echo '<script> top.location.href="'.$facebook->getLoginUrl()
  .'";</script>';
}
?>

为什么我得到致命错误:在第4行的C:\ wamp \ www \ jt1 \ index.php中调用未定义的方法Facebook :: getSession()

3 个答案:

答案 0 :(得分:10)

现代facebook PHP SDKm中没有getSession()方法,而是使用getUser()

请参阅https://github.com/facebook/php-sdk/blob/master/examples/example.php

上的示例

答案 1 :(得分:0)

$ facebook变量对您的第二个脚本不可见。为了证明这一点,从定义$ facebook的第一个脚本移动逻辑并将其放入第二个脚本中。它应该都开始工作了。

答案 2 :(得分:-2)

我认为在传输数组变量以获取实例时出现了问题!

$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'yyyyyyyyyyyyyyyyyyyy',
***'cookie' => true,***
));

最后你不应该使用逗号。你可以使用“'cookie'=&gt; true”