【发布时间】: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