Я пишу flash-приложение в AS3. Я использую библиотеку com.facebook.graph, чтобы получить доступ из моего приложения для работы.Получение ответа от пользователя facebook
Если пользователь не подписан в facebook, появляется всплывающее окно с просьбой ввести их имя пользователя и пароль, как следует. однако проблема в том, что он, похоже, не возвращается к функции обратного вызова.
код JS, используемый для подключения выглядит так:
function redirect() {
var params = window.location.toString().slice(window.location.toString().indexOf('?'));
top.location = 'https://graph.facebook.com/oauth/authorize?client_id=myappID&scope=publish_stream&redirect_uri=http://mydomain.com.au/play.php?'+params;
}
и код AS выглядит следующим образом:
Facebook.init('myappID', handleLogin);
function onLoginButtonClicked(event:MouseEvent):void
{
if (Facebook.getSession()==null ||
Facebook.getSession().uid == null)
{
Facebook.login(handleLogin);
}
else{
handleLogin();
}
}
function handleLogin(response:Object, fail:Object):void
{
if (response == null)
{
ExternalInterface.call('redirect');
return;
}
postToFB();
}
function handleUploadComplete(response:Object, fail:Object):void {
//call back from posting
}
function postToFB() {
messageText.text = 'done';
}
Если пользователь уже зарегистрирован, то он запускает функцию posttoFB правильно, однако, если они отсутствуют, и он проходит процедуру входа в систему, она не запускает эту функцию. Кажется, что просто не выполняйте функцию обратного вызова после завершения процесса ввода.
Что мне здесь не хватает?