Я переношу свое старое приложение FB в новый графический API, используя PHP API
У меня есть две страницы: общедоступные (которые не требуют входа пользователя) и частные (которые делают)
Таким образом, код каждой отдельной страницы 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/>" ;
}