从Facebook登录接收回复

时间:2010-12-27 08:23:04

标签: facebook flash-cs5

我正在AS3中编写一个Flash应用程序。我正在使用com.facebook.graph库来从我的应用程序登录工作。

如果用户未登录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函数,但是,如果它们没有并且它通过登录过程,则它不会运行该函数。它似乎只是在完成登录过程后才运行回调函数。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)