2011-07-30 9 views
0

ユーザーは、最新のPHP SDKを使用して自分のサイトにログインしています。 ユーザーが自分のサイトに表示されているFacebookのログアウトURLをクリックすると、彼はFacebookからログアウトし、自分のサイトにリダイレクトされ、そこでクリーンアップができます。ユーザーがfacebook.comからログアウトしたときに通知を受け取るにはどうすればよいですか?

しかし、(私のサイトとFacebookで)セッション中にユーザーがwww.facebook.comにアクセスしてそこからログアウトすると、私のサイトにはそれについてはわかりません。私は私のサイトでこれについて通知を受ける必要があるので、私はクリーンアップを行うことができます。

私が考えることができる唯一の解決策は、自分のサイト内のすべてのページからgetLoginStatusUrl()を呼び出すことですが、これは過度のことです。ユーザーがフェイスブックからログアウトしたときに、自分のサイトでURLを呼び出すようにFacebookに依頼する方法はありませんか?

答えて

0

あなたは、Facebookの例に従ってauth.logoutイベントにサブスクライブするのJSを使用することができます。

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId: '<?php echo $facebook->getAppID() ?>', 
     cookie: true, 
     xfbml: true, 
     oauth: true 
    }); 
    FB.Event.subscribe('auth.login', function(response) { 
     window.location.reload(); 
    }); 
    FB.Event.subscribe('auth.logout', function(response) { 
     window.location.reload(); 
    }); 
    }; 
    (function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 
+0

私にとってはときにユーザーがログインのFacebookのうち、これは発生しません。接続を使用してログアウトした場合のみ。 (つまり、JS APIを使用したFB.logout)。 – dmnc

関連する問題