【问题标题】:How can I get a notification when the user logs out from facebook.com?当用户从 facebook.com 注销时如何获得通知?
【发布时间】:2011-07-30 18:17:37
【问题描述】:

用户使用最新的 PHP SDK 登录到我的站点。 如果用户点击出现在我网站中的 facebook 注销 URL,他会从 facebook 注销并被重定向回我的网站,在那里我可以进行一些清理工作。

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

我能想到的唯一解决方案是从我网站中的每个页面调用 getLoginStatusUrl(),但这似乎有点过头了。当用户从 facebook 本身注销时,是否有办法让 facebook 调用我网站中的某个 URL?

【问题讨论】:

    标签: logout facebook-php-sdk


    【解决方案1】:

    您可以按照 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>
    

    【讨论】:

    • 对我来说,当用户退出 Facebook 时,这不会触发。仅当他们使用连接注销时。 (即 FB.logout 与 JS API)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 2019-05-02
    • 2022-09-27
    • 2018-07-07
    • 2017-06-12
    • 1970-01-01
    相关资源
    最近更新 更多