如何在用户从facebook.com注销时收到通知?

时间:2011-07-30 18:17:37

标签: logout facebook-php-sdk

用户使用最新的PHP SDK登录我的站点。 如果用户点击我网站上显示的Facebook注销网址,他会从Facebook注销并重定向回我的网站,我可以在那里进行一些清理工作。

然而,如果在会话期间(在我的网站和Facebook中)用户访问www.facebook.com并从那里注销,我的网站对此毫无头绪。我需要在我的网站上收到通知,以便我可以进行清理。

我能想到的唯一解决方案是从我网站的每个页面调用getLoginStatusUrl(),但这似乎是一种矫枉过正。当用户从Facebook本身注销时,有没有办法让facebook在我的网站上调用一些URL?

1 个答案:

答案 0 :(得分:0)

您可以根据facebook示例使用js订阅auth.logout事件:

<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>