I want to get current loggedin facebook user in php sdk. Here is what i have tried:
$facebook = new \Facebook(array(
'appId' => 'XXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXXXXXX',
));
$user = $facebook->getUser();
var_dump($user);
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
echo $logoutUrl;
} else {
$loginUrl = $facebook->getLoginUrl();
echo $loginUrl;
}
When I load the page with above code, I get the loginUrl even though I am logged in facebook. Only when i load $loginUrl in the browser, I am able to get facebook user.
How do I get the current user at first load of this page?
Looks like you want to display the current user without him having approved your app to access his information.
This is not possible. Why?
Unless you already have an access token, you can't bypass the login step. Thus, you must use the
getLoginUrl()
thing.Of course you do – being logged in to facebook.com is something completely different than being logged in to your app.
That’s because after that the user is logged in to your application.
Only possible for users who have connected to your app already at some point before, by using the JavaScript SDK.