Если вы пишете приложение на FBML, то на каждой странице вашего приложения Facebook будет передавать кучу данных в строке запроса запроса страницы.Все эти параметры имеют префикс fb_sig
и составляют информацию для проверки пользователя.Вам вообще не нужно запрашивать API.
Когда вы создаете экземпляр объекта $facebook
из стандартной клиентской библиотеки PHP, используя что-то вроде $facebook = new Facebook('api key','secret key');
, код Facebook автоматически проверяет все эти параметры для вас.и сохраняет результат как часть объекта Facebook.
В результате вы можете просто сделать следующее, чтобы определить, вошел ли пользователь в систему:
$facebook = new Facebook('api key','secret key');
$fbId = $facebook->get_loggedin_user();
Если все необходимые параметрыбыли получены, тогда вы получите идентификатор пользователя Facebook.Я полагаю, что вы получите null
в противном случае.
Обратите внимание, что если вы создаете приложение iframe, необходимо учитывать и другие вещи, поскольку Facebook Connect установит файлы cookie, которые могут не обязательно истечь, когда пользователь выходит из Facebook,Хотя подпись всегда действительна, поэтому, если вы получаете идентификатор из get_loggedin_user()
, вы можете быть уверены, что это правильный идентификатор.