5

Facebook を自分のサイトに統合し、次の URL から取得したログアウト ボタンを追加しました。

$facebook->getLogoutUrl(array('next' => 'http://mydomain.com/logout.php'));

問題は、それlogout.phpが呼び出されないことです。代わりに、[ログアウト] ボタンをクリックすると、ログインしているユーザーの Facebook ホームページにリダイレクトされます。ユーザーを Facebook からログアウトせず、私のnextURL を呼び出しません。

getLogoutURL()によって生成された URL が次のようになっていることに気付きました。

https://www.facebook.com/logout.php?next=http://mydomain.com/logout.php&access_token=0

access_token=0があることに注意してください。その値はゼロであってはなりませんか? それが問題を引き起こしている可能性があると私が考えることができる唯一のことです。

FB アプリのサイト URL を に設定しましたhttp://mydomain.com。ローカルでテストしながら、hostsファイルも編集しました。私もたくさんグーグルで検索しましたが、解決策が見つかりませんでした。唯一機能したのは、onclickを使用してログアウト ボタンに を追加することでしFB.logout()た。しかし、私はPHPを使用する必要があります。

ログアウト URL が機能しない理由について何か考えはありますか?

4

5 に答える 5

2

問題は、ログアウト URL を要求する前に getAccessToken を呼び出す必要があることです。

$facebook->getAccessToken();

内部で getLogoutURL パラメータとして呼び出す必要はありません。1行前に呼び出してください:

$user = $facebook->getUser();
$access_token = $facebook->getAccessToken();
$logoutUrl = $facebook->getLogoutUrl();
于 2014-01-14T18:09:57.123 に答える