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

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

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

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

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

有帮助吗?

解决方案

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top