Я перевожу мое старое приложение FB на новый API графа, используя PHP API
У меня есть две страницы: открытые (которые не требуют входа пользователя) и частные (которыеdo)
Таким образом, код каждой отдельной страницы php в моем приложении работает следующим образом:
if (this_page_requires_user_login){
$facebook = new Facebook(...) ;
$session = $facebook->getSession ;
if (!$session){
$url =$facebook.getLoginUrl(array(next => current_page );
echo "<fb:redirect url=$url/>" ;
}
// the rest of the code continues here
Теперь, как вы можете видеть, этот способ работы перенаправляет каждую страницу на URL входаи хотя он работает, он также работает медленно и добавляет строку & session = {bla} к очень одиночному URL.
Мне нужен способ проверить, где пользователь уже вошел в систему, прежде чем я перенаправлю его на страницу входа.Но я не могу найти такой метод в PHP API.Какой лучший способ сделать это?
РЕДАКТИРОВАТЬ
Это, кажется, делает трюк
if ($session) {
try {
$me = $facebook->api('/me');
if ($me) {
// here comes your code for user who is logged in
}
} catch (FacebookApiException $e) {
login()
}
}else{
login()
}
function login(){
$url =$facebook.getLoginUrl(array(next => current_page );
echo "<fb:redirect url=$url/>" ;
}