Facebook FB.ui или всплывающее окно на странице холста - PullRequest
2 голосов
/ 07 июня 2011

Я пытаюсь использовать всплывающее окно oauth FB.ui на странице холста Facebook.Я использую последнюю версию Javascript SDK.

На вкладке страницы прекрасно работает: FB.ui({method: 'oauth'}, callback); Это дает мне всплывающее окно с разрешенным доступом и затем прекрасно вызывает мой обратный вызов с ответом.Перенаправление не требуется.

Однако, когда я пытаюсь сделать то же самое на Canvas, я получаю диалоговое окно FB, которое говорит: «Произошла ошибка. Пожалуйста, повторите попытку позже».Кто-нибудь заставил его работать или знает какие-нибудь обходные пути?

У меня был успех с подходом top.location.href = "http://www.facebook.com/dialog/oauth?client_id=xxx&redirect_uri=xxx, но я бы предпочел не перенаправлять, если это возможно.

Ответы [ 2 ]

5 голосов
/ 07 июня 2011

Оказывается, что FB.login (обратный вызов) прекрасно работает на странице холста, а также избегает перенаправления.

Так что ответом для меня было просто изменить FB.ui вместо того, чтобы делать FB.login. Ответ, отправленный на обратный вызов, немного отличается от FB.ui, но очень близок.

FB.login(function(response) { 
  if(response && response.session) {
    //do stuff with session
  }
});
0 голосов
/ 07 июня 2011

Что значит "это не работает"?Всплывающее окно может быть заблокировано, если оно не вызывается в ответ на пользовательское событие (например, щелчок мышью).

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