【问题标题】:How to know if a user log out of Facebook, FB.Event.Subscribe not work如何知道用户是否退出 Facebook,FB.Event.Subscribe 不起作用
【发布时间】:2011-08-11 10:35:10
【问题描述】:

在我的应用程序中,我需要捕获用户在使用我的应用程序时从 Facebook 注销的事件,以强制他们再次登录。我浏览了 getLoginStatus JS API 和 FB.Event.subscribe 。函数 getLoginStatus 有效,我可以进行轮询,但我想要一个回调函数(就像取消授权回调函数一样)。

我认为 FB.Event.subscribe 是要做什么,但是只有在我刷新页面时才会触发该事件,这不是我所期望的。

是否有任何其他方法可以识别 FB 用户仍处于登录状态,或者是否绝对需要随着时间的推移进行轮询?

澄清:我想获取用户退出他/她的 FB 帐户的事件,以便让该用户退出我的应用程序。我的应用程序是 Facebook 页面上的 iframe,它不是社交连接应用程序。

【问题讨论】:

  • 这是一个网络应用程序吗?既然你标记了 java 和 javascript?
  • @TJHeuvel:是的,它是一个网络应用程序
  • @TJHeuvel:我的意思是,它是“在 Facebook iframe 页面上”的应用程序,但后端肯定是我的网站。

标签: java javascript facebook spring-mvc facebook-graph-api


【解决方案1】:

我不确定,但可能以下代码会对您有所帮助。

在加载您的应用程序时,只需执行此脚本或 js 函数:

// FB logout
  logout: function() {
    FB.getLoginStatus(function(response) {
    if(response.session) {
        FB.logout(function(response) {
            return;
        });
    }
  });
  }

如果用户登录 Facebook,它将获得 response.session。如果会话已设置,它将调用 FB.logout(),这将从 Facebook 注销。 甚至您也可以在任何地方调用此注销功能,例如通过放置一个链接来执行此操作。

【讨论】:

  • 此代码似乎回答了与 OP(用户注销时如何登录 Facebook?)不同的问题(您如何退出 Facebook?)。
  • @sanmax007:对不起,如果我不够清楚,但我想知道用户何时在 FB 上注销(以便将他从我的应用程序中注销)。这不是相反的
【解决方案2】:

最后,我必须使用中间解决方案:每次用户尝试访问函数时,我都会重新调用 FB.init() 和 FB.getLoginStatus(),而不是轮询 Facebook。

【讨论】:

    猜你喜欢
    • 2012-10-02
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多