Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Symfony2+Facebook API:无法检索会话对象_Javascript_Php_Facebook_Symfony_Facebook Graph Api - Fatal编程技术网

Javascript Symfony2+Facebook API:无法检索会话对象

Javascript Symfony2+Facebook API:无法检索会话对象,javascript,php,facebook,symfony,facebook-graph-api,Javascript,Php,Facebook,Symfony,Facebook Graph Api,我尝试在我的Symfony2应用程序中集成FB功能 我有一个base.html.twig,在其中初始化javascript facebook api: <script> window.fbAsyncInit = function() { FB.init({ appId : '{{ fb_appid }}', xfbml : false, version : 'v2.1' }); FB.getL

我尝试在我的Symfony2应用程序中集成FB功能

我有一个base.html.twig,在其中初始化javascript facebook api:

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '{{ fb_appid }}',
      xfbml      : false,
      version    : 'v2.1'
    });

    FB.getLoginStatus(function(response) {
      statusChangeCallback(response);
    });
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/de_DE/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>
然后,在我的DefaultController.php中,我想检索会话,然后检索当前登录用户的facebook id:

use Facebook\FacebookSession;
use Facebook\FacebookRequest; 
use Facebook\FacebookJavaScriptLoginHelper;

/**
 * @Route("/overview", name="_overview")
 * @Template()
 */
public function overviewAction()
{
    $helper = new FacebookJavaScriptLoginHelper();
    try {
      $session = $helper->getSession();
    } catch(FacebookRequestException $ex) {
      // When Facebook returns an error
        echo $ex."<br>";
    } catch(\Exception $ex) {
      // When validation fails or other local issues
        echo $ex."<br>";
    }
    if ($session) {
      // Logged in
        echo "some";
    }else{
        echo "none";
    }
}
我得到的只是一个也没有

我不知道为什么我没有会话,因为javascript方法给了我连接状态。。所以用户登录facebook并允许我的应用


有谁能帮我一点忙吗,因为这不是一件很难的事?!提前感谢:

好的,我自己发现:我必须在Fb.init上配置cookie和状态

  window.fbAsyncInit = function() {
    FB.init({
      appId      : '{{ fb_appid }}',
      xfbml      : false,
      version    : 'v2.1',
      cookie     : true,
      status     : true
    });