【问题标题】:Facebook Signed Request empty after reload重新加载后 Facebook 签名请求为空
【发布时间】:2012-06-01 02:40:57
【问题描述】:

我的 Facebook 应用程序上的签名请求有问题。第一次很好,我知道用户是否喜欢我的应用程序。但是当我重新加载应用程序(链接、表单等)时,我失去了签名请求,(仅刷新 [F5],并且不像工作)..

我真的不明白为什么?

链接失效了:(

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

感谢大家的时间和帮助。

【问题讨论】:

    标签: facebook facebook-like facebook-apps


    【解决方案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);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 感谢您的回复,但我确实需要所有页面上的此信息(以了解用户是否喜欢)
      • 因此获取该数据,将其放入您的会话参数服务器端,并在每个后续页面上使用它们
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-25
      • 2018-12-04
      • 2019-05-19
      • 1970-01-01
      相关资源
      最近更新 更多