Facebook重新加载后签名请求为空

时间:2012-05-25 13:57:24

标签: facebook facebook-like facebook-apps

我的Facebook应用程序上的签名请求存在问题。第一次是好的,我知道用户是否喜欢我的应用程序。但是当我重新加载应用程序(链接,表单等)时,我松开了签名请求,(只刷新[F5],与工程不同)..

我真的不明白为什么?

链接不再有效:(

在应用程序上,您可以看到$ facebook,$ _REQUEST和$ _SERVER信息。

谢谢大家的时间和帮助。

2 个答案:

答案 0 :(得分:4)

已签名的请求位于Facebook推介的标题中。它不是从链接到链接维护的,因为后续引用将来自您自己的页面。使用signed_request获取一些信息并将其保留在页面之间的会话中。

答案 1 :(得分:1)

您只有一次能够获得signed_request。这正是Facebook在iframe中加载你的应用程序的时候。然后,您必须保存signed_request以供进一步使用(子页面)。在那里,您必须通过$ _REQUEST检查数据或回退到您存储的signed_request值。 这是fbHelper组件的一个小例子。我希望这可能会给你一些如何处理这个问题的想法:

来源:http://www.facebook.com/HelperComponentlCommunity/app_412923142052609

    if(array_key_exists('signed_request', $_REQUEST))
        $signed_request = $_REQUEST['signed_request'];
    elseif(array_key_exists('signed_request' . $this->pageId, $_SESSION))
        $signed_request = $_SESSION['signed_request' . $this->pageId];
    else
        return false;

    $facebook_data= $this->parse_signed_request($signed_request);