0

ユーザーがすでに別のタブでFacebookに接続している場合、ユーザーを自分のサイトに自動ログインするようにシステムを設定しようとしていますが、ZendFrameworkから次のエラーメッセージが表示されます。

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

Facebook php APIをhttps://github.com/facebook/facebook-php-sdkからダウンロードしてサーバーにアップロードしましたが、base-facebook.phpファイルの463行目にメソッドが実際に存在します。 。違いがあれば、ここでAPIを呼び出します。

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

このエラーの原因は何ですか?私は自分の側で何か間違ったことをしていますか?

4

1 に答える 1

0

getUser関数の開発者のサイトページ(ここ)では、メソッドが静的であると示されています。それらはヘッダーを使用しFacebook::getUser()ますが、base-facebook.phpのソースコードを見ると、次の行が見つかります。

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

ドキュメントでは静的であると表示されているか、少なくともそのように見えますが、実際には最初にFacebookインスタンスが存在することに依存していること、およびメソッドが見つからなかった理由をここで確認できます。私のコードでは、作成しなかったということです。Facebookインスタンスを作成するとすぐに、エラーメッセージが消えました。

于 2012-07-27T14:58:00.030 に答える