Приложение Facebook - сервер не отвечает - PullRequest
1 голос
/ 01 декабря 2011

После проблем с FBML я переключился на приложения iFrame. Пока все хорошо, кроме двух вещей:

1) если я не входил в приложение в течение нескольких часов и пытался войти, иногда мне выдается страница с ошибкой, что мой сервер не отвечает. Он показывает страницу Faceboob с iFrame внутри, показывая ошибку. После 1 или 2 обновлений он работает нормально.

2) Я внедрил новый SDK с таким логином

$facebook = new Facebook(array(
  'appId'  => $fbID,
  'secret' => $fbSecret,
  'cookie' => true,
));

$user = $facebook->getUser();

$loginUrl = $facebook->getLoginUrl();   

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    d($e); 
    $user = null;
  }
}

if (!$user) {
    echo "<script type='text/javascript'>
                 top.location.href = '$loginUrl';
          </script>";
    exit;
}

Проблема в моем первом перенаправлении, когда пользователь входит в первый раз. Он перенаправляет на URL моего сервера, а не на URL моего приложения Facebook. Если я попытаюсь выразить это так:

$loginUrl = $facebook->getLoginUrl(
    array(
        'redirect_uri' => 'http://apps.facebook.com/xxx/'
    )
);  

логин входит в бесконечный цикл.

Любая помощь в решении этих двух проблем приветствуется: -)

Спасибо

1 Ответ

0 голосов
/ 01 декабря 2011

Darko4spain, когда пользователь перенаправляется обратно на ваш сайт, вы можете определить наличие iframe с помощью javascript и отправить их обратно. У меня та же проблема с моим приложением. Это не очень хорошее решение, но оно работает.


if (window!=window.top) { 
//FB.Canvas.setAutoResize();
setTimeout("FB.Canvas.setAutoGrow()", 1400);
}else {
top.location.href = 'https://apps.facebook.com/AnotherFeed/?ref=redirect#comments';
}

пример: https://anotherfeed.com/plugins/index.php перенаправит вас обратно на мой холст, если вы не на холсте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...