Ошибка авторизации холста 191 - PullRequest
1 голос
/ 26 августа 2011

Я пытаюсь реализовать страницу с холстом на Facebook.В учебнике Canvas сказано, что я должен установить redirect_url для страницы холста:

http://apps.facebook.com/<appName>

Однако, когда я это делаю, я получаю ошибку 191. Если я установлю его на URL холстаhttp://www.<mysite>.com/fbCanvas вместо этого я теряю интерфейс Facebook, так как он открывается в «верхнем» окне.Как правильно реализовать эту функциональность?Это ошибка в Facebook?

Ответы [ 3 ]

4 голосов
/ 03 ноября 2011

У меня была такая же проблема, и я решил ее следующим образом:

Откройте FBUtils.php и перейдите к строке 94, где написано

echo("<script> top.location.href='" . $authorize_url . "'</script>");

замените его на

echo("<script> window.location.href='" . $authorize_url . "'</script>");

и все, вы не выйдете из FB, а ваше приложение будет внутри iframe!

1 голос
/ 26 августа 2011

Это не нормальное поведение, ваша страница холста может что-то делать, чтобы избавиться от фрейма Facebook, например, установка window.top.location с помощью Javascript и т. Д.

0 голосов
/ 27 августа 2011

redirect_url используется для перенаправления пользователей после процесса авторизации. Вы не можете использовать страницу Facebook в качестве места назначения перенаправления. Redirect_url должен находиться в том же домене, что и исходная страница холста. Затем вы можете перенаправить пользователя после авторизации с вашего домена на соответствующую страницу Facebook.

1, apps.facebook.com/appName работает, пока вы не перенаправите пользователя на страницу процесса FB AUTH

2, FB AUTH PAGE перенаправляет пользователя (после процесса аутентификации) на http://www.mysite.com (здесь вы должны выполнить аутентификацию)

3, Вы должны перенаправить пользователя на apps.facebook.com/appName back

Этот поток наиболее гибкий, но немного сложный в обращении, если у вас больше точки доступа (вкладка или веб-страница).

...