php - 检测用户是否作为页面登录

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

如果用户作为页面登录(帐户设置 -> 使用 Facebook 作为页面),有什么办法(服务器端或客户端)?

如果用户将应用视为页面,我想提示用户在我的选项卡应用中切换回自己。

我试过显示身份验证对话框,但只显示错误。

最佳答案

如果您作为页面登录,您在订阅 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>

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

关于php - 检测用户是否作为页面登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7987088/

相关文章:

javascript - 如何安全地获取和使用 Facebook 应用程序访问 token 以使用 PHP 和 Javascript 发送通知

Facebook 提要对话框 : allow user to select destination page or group

php - 对 fullcalendar.io 使用普通 PHP 路由 (&) 和 symfony 路由 (/)

javascript - 获取页面 token 以将我的应用程序订阅到用户页面

android - 如何在 Facebook F8 之后在 android 中获取 Facebook 好友

php - Facebook Scraped URL 404 欢迎使用 Nginx 错误 [Ningx + PHP-FPM]

javascript - FB.ui 没有回调

javascript - AngularJS put方法上传文件没有数据

php - 隐藏Codeigniter错误并回显自定义错误

php - 在未授权用户的情况下搜索 LinkedIn API