проблема с Facebook: приложение переходит на оригинальный домен - PullRequest
1 голос
/ 05 января 2011

Я создаю приложение для Facebook с PHP и сталкиваюсь с двумя основными проблемами ..

  1. Когда я нажимаю кнопку разрешения на разрешении, приложение переносит меня в мой собственный домен (где хранится приложение) вместо загрузки его в iFrame.

  2. Иногда, когда я нажимаю «Не разрешать», он по-прежнему пропускает меня и показывает ошибку PHP, а иногда (в большинстве случаев) не пускает. *

В чем может быть проблема? В любом случае я могу программно перенаправить на страницу разрешений? Спасибо ..

if(empty ($this->session))
    {
        try
        {
            $login_url = $this->facebook->getLoginUrl();
            header("Location: ".$login_url);
        }
        catch(Exception $e)
        {
            header("Location: http://www.facebook.com");
        }
    }
    else
    {
        try
        {
            $this->uid = $this->facebook->getUser();
        }
        catch(Exception $e)
        {
            header("Location: http://www.facebook.com");
        }
    }

обратите внимание, что перенаправления, которые я сделал, были направлены на решение проблемы. Но не исключение не выбрасывается.

Ответы [ 2 ]

1 голос
/ 05 января 2011

Когда вы хотите получить URL-адрес для входа, вы можете передавать различные параметры в зависимости от того, что вам нужно.в вашем случае, чтобы вернуться на страницу Facebook, вы можете использовать параметр next.

Это ваш код изменен:

$login_url = $this->facebook->getLoginUrl(
            array(
                'canvas'    => 1,
                'fbconnect' => 0,
                'next' => YOUR_CANVAS_PAGE_URL
            ) 
        );
if(empty ($this->session))
{
    echo "<script type='text/javascript'>top.location.href='$loginUrl';</script>";
    exit;
}
else
{
    try
    {
        $this->uid = $this->facebook->getUser();
    }
    catch(Exception $e)
    {
        echo "<script type='text/javascript'>top.location.href='$loginUrl';</script>";
        exit;
    }
}

Дайте мне знать, если это решит вашу проблему:)

0 голосов
/ 05 января 2011

Я использовал этот простой скрипт для применения перенаправления, если страница не внутри iFrame ...

if(parent == window)
                {
                    window.location = "http://apps.facebook.com/appname/";
                }

Возможно, это не законное решение, но разрешило ситуацию для меня. Кто-нибудь, если знает законный способ, пожалуйста, напишите. Спасибо.

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