2012-03-01 6 views
8

Что такое PHP эквивалентно Facebook, JS SDK из:Что такое PHP-файл facebook, эквивалентный FB.getLoginStatus?

FB.getLoginStatus 

Я ищу что-то вроде:

$facebook->getLoginStatus() 

Однако вышесказанное не существует в библиотеке PHP.

Я уже пробовал оба эти:

$this->facebook->api('/me'); 
$this->facebook->getUser(); 

Оба не работают, так как ошибки PHP, говоря, что я нужен действующий access_token и я остался с пустой страницы. Я не могу даже проверить нулевой ответ на 2 метода выше.

Мне просто нужно проверить, является ли пользователь возвращающимся пользователем или нет. Пожалуйста помоги!

+0

До тех пор, пока вы не имеете действительный токен доступа - пользователь не вошел в систему для вашего приложения – zerkms

ответ

5
 

$facebook = new Facebook(array(
    'appId' => 'YOUR_APP_ID', 
    'secret' => 'YOUR_APP_SECRET', 
)); 

// Get User ID 
$user = $facebook->getUser(); 
 

Чтобы проверить, если пользователь вошел в системе на Facebook (аналогично FB.getLoginStatus) вам нужно сделать:

 

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 
else { 
    $fbUrl = $facebook->getLoginUrl(array('scope' => '........')); 
    header("Location:".$fbUrl); 
    exit(); 
} 
 

Надеется, что это помогает

+0

Ошибка: токен доступа должен использоваться для запроса информации о текущем пользователе. – Rees

+0

см. Отредактированный код, надеюсь, что он поможет –

+0

с этой работой, если пользователь вернется через 5 месяцев? есть ли проблемы access_token с этим? – Rees

Смежные вопросы