【发布时间】:2014-06-03 21:17:02
【问题描述】:
我正在构建一个 FB 标签页。
在主页上,我可以使用 signed_request 成功设置 FacebookSession。
我开始一个会话并将$facebookSession->getToken() 存储在$_SESSION['token'] 中。
$session = FacebookSession::newSessionFromSignedRequest($signedRequest);
$_SESSION['token'] = $session->getToken();
当我导航到 IFrame 中的另一个 PHP 页面时,我会根据存储的令牌创建另一个 FacebookSession。
FacebookSession::setDefaultApplication($appId, $appSecret);
$session = new FacebookSession($_SESSION['token']);
会话已创建,但当我尝试验证此会话时,SDK 会抛出“会话已过期,或对此应用无效”-异常。
$session->validate()
欢迎提出任何想法。
【问题讨论】:
-
如果您在developers.facebook.com/tools/debug 中调试令牌,它会说什么?
-
不多说了,我目前正在开发的应用程序指向的本地服务器上工作(local.dev)
-
调试工具还可以调试令牌,而不仅仅是用于 URL - 您确定您在页面标签应用中使用的应用 ID 与您在 PHP 代码中使用的应用 ID 相同吗?
-
是的,所有应用程序数据都匹配,如果就这么简单的话。 :)