我有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()?
答案 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”