2015-03-11 2 views
0

Я пытаюсь интегрировать функциональность FB в приложение Symfony2.Symfony2 + Facebook API: не удается получить объект сеанса

У меня есть base.html.twig где я Инициализируем яваскрипт 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 ид :

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 и разрешает мое приложение.

Может ли кто-нибудь мне немного помочь, пожалуйста, так как это не должно быть такой трудной задачей ?! Заранее спасибо :)

ответ

0

Ok я узнал от себя: я должен был настроить печенье и статус на Fb.init()

window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : '{{ fb_appid }}', 
     xfbml  : false, 
     version : 'v2.1', 
     cookie  : true, 
     status  : true 
    }); 
Смежные вопросы