2

我有几行非常简单的 Facebook 应用程序,使用新的 Facebook API:

<pre>

<?php

require 'facebook.php';

// Create our Application instance.
$facebook = new Facebook(array(
  'appId'  => '117676584930569',
  'secret' => '**********',                 // hidden here on the post...
  'cookie' => true,
));

var_dump($facebook);

?>

但它给了我以下输出:

http://apps.facebook.com/woolaladev/i2.php 会给出

object(Facebook)#1 (6) {
  ["appId:protected"]=>
  string(15) "117676584930569"
  ["apiSecret:protected"]=>
  string(32) "**********"                   <--- just hidden on this post
  ["session:protected"]=>
  NULL                                      <--- Session is NULL for some reason
  ["sessionLoaded:protected"]=>
  bool(false)
  ["cookieSupport:protected"]=>
  bool(true)
  ["baseDomain:protected"]=>
  string(0) ""
}

由于某种原因,会话为 NULL,但我已登录并可以访问我的主页和个人资料并在 Facebook 上运行其他应用程序(以查看我已登录)。

我正在关注以下示例:

http://github.com/facebook/php-sdk/blob/master/examples/example.php
http://github.com/facebook/php-sdk/blob/master/src/facebook.php

(使用原始 URL 下载:wget http://github.com/facebook/php-sdk/raw/master/src/facebook.php

在 dreamhost.com 和 netfirms.com 上尝试两家托管公司,结果是一样的。

4

2 回答 2

2

会话打开并不意味着您已登录 Facebook。

会话需要在相关网站中打开,这意味着您应该在您的网站中添加一个“与 facebook 连接”按钮并单击它!然后重新加载页面,你会得到你的会话:)

$session = $facebook->getSession();
$me = null;
if ($session) {
  try {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');
    $friends = $facebook->api('/me/friends'); //array of friends - for every friend you get id & name
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}
于 2010-05-11T01:42:05.570 回答
1
$session = $facebook->getSession(); 

当您使用新的图形 API 调用它时,它说该方法不存在。

致命错误:调用 /home/pri 中未定义的方法 Facebook::getSession()...

于 2011-07-27T23:27:14.837 回答