0

如果用户已经在另一个选项卡中连接到 facebook,我正在尝试设置一个系统来自动登录到我的站点,并且我从 Zend Framework 收到以下错误消息:

Message: Method "getUserFromAvailableData" does not exist and was not trapped in __call() 

我已经从https://github.com/facebook/facebook-php-sdk下载了 Facebook php API并将其上传到我的服务器,并且该方法确实存在,在 base-facebook.php 文件的第 463 行. 这是我调用 API 的地方,如果它有什么不同的话。

require_once(BASE_PATH . "/library/facebook-php/src/facebook.php");
$fbid = Facebook::getUser();

什么可能导致此错误?我做错了什么吗?

4

1 回答 1

0

在 getUser 函数的开发人员站点页面上,在这里,他们将该方法显示为静态的。他们使用 header Facebook::getUser(),但是如果您查看 base-facebook.php 中的源代码,您会发现这一行:

return $this->user = $this->getUserFromAvailableData();

即使他们在文档中显示它是静态的,或者至少让它看起来像,你可以在这里看到它实际上依赖于首先是一个 facebook 实例,以及它找不到方法的原因在我的代码中是我没有创建一个。一旦我创建了一个 facebook 实例,错误消息就消失了。

于 2012-07-27T14:58:00.030 回答