在调试过程中,我们注意到原因有时fbsr_
cookie不存在,尽管我们在将请求发送到服务器之前检查status === 'connected'
。
JS:
FB.login(function (resp) {
if (resp.status === 'connected') {
// send request to server to login using the JavaScript helper
// $.post('/fb/login', {}, function(){
// // display result etc.
// });
}
}, {scope: 'user_friends,email,user_birthday'});
PHP:
$fbApp = new Facebook([
'app_id' => 'facebookappid',
'app_secret' => 'facebooksecret',
'default_graph_version' => 'v2.5',
]);
$helper = $fbApp->getJavaScriptHelper();
$accessToken = $helper->getAccessToken(); // sometimes `fbsr_appid` cookie doesn't exist, so the access token is null
令人困惑的是,有时它会起作用,有时即使使用相同的浏览器设置相同也是如此!
值得一提的是,我们仍在使用被遗弃的软件包"facebook/php-sdk-v4" : "~5.0"
,它在我们的开发过程中被宣布放弃,因此我们决定继续使用它来获取当前版本。