【发布时间】:2012-01-15 21:13:57
【问题描述】:
我正在努力在我的网站上使用 PHP 来维持 Facebook 会话。
我同时使用 JavaScript SDK 和 PHP SDK 来构成我的应用程序的基础。
我遇到的问题是,当“Facebook 会话”结束时,我的 PHP 脚本认为您已退出 Facebook。但是,只要我使用 JavaScript SDK 调用 FB.init(),会话就会恢复正常。
有没有使用 PHP SDK 实现相同的功能?或者我可以在 Facebook 会话中设置自定义到期时间吗?
从 cmets 中提取
会话过期时间似乎设置为 2 小时,但我不确定。我不认为调用 PHP api 会有所作为。我需要更清楚地解释发生了什么。基本上,如果您到达我的主页,您可以选择通过 Facebook 登录。如果你这样做,这一切都很好!登录并授权应用程序后,在会话到期之前都可以。会话到期时,PHP SDK 似乎无法确定您是否通过 Facebook 登录,但 Javascript SDK 是。我将 getUser() 用于 PHP SDK。
换句话说,由于会话已经过期,PHP 认为您不再通过 Facebook 登录。 Javascript SDK 能够检测您是否登录,无论会话是否存在。当它意识到你是,它以任何方式重新创建会话。但是为了让 PHP 获取会话,显然需要刷新页面。这是我遇到的问题,因为页面根据您的 Facebook 登录显示内容,我需要 PHP SDK 也能够重新创建会话,因此不需要刷新页面。
【问题讨论】:
-
会话过期需要多长时间,如果您使用 PHP 调用 api,这与从 JavaScript 调用
FB.init()的效果相同吗?
标签: php javascript facebook-javascript-sdk facebook-php-sdk