检测用户是否以页面身份登录

时间:2011-11-02 20:45:42

标签: php facebook-graph-api facebook-javascript-sdk

如果用户以网页登录(帐户设置 - >将Facebook用作网页),有没有办法(服务器端或客户端)?

如果他们将应用视为一个页面,我想提示用户在我的标签应用中切换回自己。

我尝试过显示auth对话框,但这只显示错误。

1 个答案:

答案 0 :(得分:0)

如果您以页面身份登录,则在订阅auth.statusChange事件时会收到错误,因此不会触发。所以我等待3秒钟以查看事件是否已触发,如果没有重定向到身份验证对话框页面。

<script type="text/javascript">
    var isUser = false;
    FB.Event.subscribe('auth.statusChange', function (response) { isUser = true; });

    setTimeout(function() { if (!isUser) { window.top.location = 'https://www.facebook.com/dialog/oauth?client_id=<YOUR APP ID>&redirect_uri=<REDIR URL>'; } }, 3000);
</script>

这有效,但看起来像是一个可怕的黑客。