应用程序facebook - 将参数传递到url中删除facebook $ session?

时间:2011-05-06 22:57:50

标签: php facebook session facebook-graph-api

继承我的问题。

index.php文件 代码:

    <?php

    require_once ('../src/facebook.php');
    $facebook = new Facebook(array(
    'appId' => 'xxxxxxxx',
    'secret' => 'xxxxxxxxxxxxxxxxxxx',
    'cookie' => true,
      ));
      $session = $facebook->getSession();
      print_r($session);
       ?>

它工作正常,我确实拥有所有$会话信息。

但是只要我调用index.php?param = x,我就不再拥有会话信息了。

怎么回事?

1 个答案:

答案 0 :(得分:1)

我查看了facebook.php,当你使用 OAuth 2.0 使用 signed_request 时,它是获得会话的第一个来源。

如果在高级设置中启用了 POST for canvas

signed_request将传递给您。

使用GET方法(如 index.php?param = x )导航到其他页面时,会丢失signed_request。

我们之前遇到过这个问题,并选择在iframe中使用AJAX来保留index.php中的signed_request,并且加载ajax的页面会生成基于cookie的会话,因为它们没有signed_request。

如果需要,您还可以在高级设置中停用 OAuth 2.0