Pregunta

Estoy tratando de configurar un sistema para iniciar sesión automáticamente a un usuario en mi sitio si ya están conectados a Facebook en otra pestaña y obtuve este mensaje de error de Zend Framework:

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

Ya he descargado la API PHP de Facebook de https://github.com/facebook/Facebook-PHP-SDK y lo subió a mi servidor, y el método existe, en la línea 463 del archivo base-facebook.php.Aquí está donde estoy llamando a la API, si hace alguna diferencia.

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

¿Qué podría estar causando este error?¿Estoy haciendo algo mal en mi extremo?

¿Fue útil?

Solución

En la página del sitio del desarrollador para la función de GetUser, aquí Muestran el método como estático.Utilizan el encabezado Facebook::getUser(), pero si mira el código fuente en Base-Facebook.php, encontrará esta línea:

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

Aunque lo muestran como estática en la documentación, o al menos lo hacen parecer que es, puede ver aquí que en realidad depende de que primero sea una instancia de Facebook, y que la razón por la que no pudoEncuentra el método en mi código es que no creé uno.Tan pronto como creé una instancia de Facebook, el mensaje de error desapareció.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top