Domanda

Sto cercando di configurare un sistema per accedere automaticamente un utente nel mio sito se sono già collegati a Facebook in un'altra scheda e ho ricevuto questo messaggio di errore da Zend Framework:

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

Ho già scaricato l'API PHP Facebook da https://github.com/facebook/Facebook-PHP-SDK e lo ha caricato sul mio server e il metodo esiste effettivamente, on line 463 del file di base-facebook.php.Ecco dove sto chiamando l'API, se fa alcuna differenza.

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

Cosa potrebbe causare questo errore?Sto facendo qualcosa di sbagliato sulla mia fine?

È stato utile?

Soluzione

Nella pagina del sito dello sviluppatore per la funzione GetUser, qui , mostrano il metodo come statico.Usano l'intestazione Facebook::getUser(), ma se guardi il codice sorgente in Base-Facebook.php troverai questa riga:

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

Anche se lo mostrano come statici nella documentazione, o almeno rendono sembrare che lo sia, puoi vedere qui che in realtà dipende da lì un'istanza di Facebook, e che il motivo per cui non potevaTrova il metodo nel mio codice è che non ne ho creato uno.Non appena ho creato un'istanza di Facebook, il messaggio di errore è scomparso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top