【问题标题】:Symfony2 + Facebook API: Cannot retrieve session objectSymfony2 + Facebook API:无法检索会话对象
【发布时间】:2015-03-11 16:11:28
【问题描述】:

我尝试在我的 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 并允许我的应用程序。

谁能帮我解决这个问题,因为这不应该是一项艰巨的任务?!在此先感谢:)

【问题讨论】:

    标签: javascript php facebook symfony facebook-graph-api


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 2021-12-30
      相关资源
      最近更新 更多