As3 Graph API Logout

我正在开发一个将由不同用户播放的应用程序,但我使用as3 graph api来验证用户并在他们的墙上发布,我需要在下一个用户在as3 graph上开始他的会话之前注销每个用户API: http://code.google.com/p/facebook-actionscript-api/ 我搜索强制FB要求登录信息,但在再次登录时退出后,API跳过步骤并在最后一个用户会话中记录。     
已邀请:
这是FacebookMobile,Facebook和FacebookDesktop不断修订的问题。基本上,您需要确保设置FacebookDesktop.manageSession = false;并传递第二个参数“注销”你的网站的api url。如果这不起作用,另一种方法是使用“reallyLogout”,如此线程中详述。 注释#24中的注释详细说明了从FacebooMobile(或者您正在使用的任何单例)中公开访问令牌的方法,然后使用访问令牌在Facebook上手动调用logout.php方法。 http://code.google.com/p/facebook-actionscript-api/issues/detail?id=297#c24     
我在网上看到的解决方案都没有对我有用。问题确实是在使用FacebookMobile.logout()调用注销时没有清除StageWebView facebook cookie。使用访问令牌加载logout.php对我没有帮助,因为没有合适的空中应用程序的“下一个”参数值。我见过人们建议在那里使用localhost或facebook.com,但这些选项都没有用。 我提出了一个非常值得怀疑的解决方案,但它现在有效。 关键是要在facebook中注销用户,就像他自己注销一样。为此,我们需要在StageWebView中加载facebook.com并单击注销。注销按钮是“logout_form”html表单的提交表单项。所以我们需要进行一次javaScript调用
document.getElementById('logout_form').submit();
在我们的StageWebView中。我们可以通过电话来做到这一点
webView.loadURL("javascript:document.getElementById('logout_form').submit();");
在ActionScript中。 我现在使用的完整代码
protected var _logoutAttemptInProgress:Boolean = false;
public function fbLogout():void{
if(!_isLoggedIn) return;
if(_logoutAttemptInProgress) return;
_logoutAttemptInProgress = true;

var webView:StageWebView = new StageWebView();
webView.viewPort = new Rectangle(-1, 0, 1, 1);          
webView.stage = this.stage;         
webView.loadURL("http://www.facebook.com/lksmlrsgnlskn");
webView.addEventListener(Event.COMPLETE, runLogoutJs);

function runLogoutJs(event:Event):void{
    webView.removeEventListener(Event.COMPLETE, runLogoutJs);
    var jsString:String = "document.getElementById('logout_form').submit();";
    webView.loadURL("javascript:"+jsString);
    webView.addEventListener(Event.COMPLETE, closeWebView);
}

function closeWebView(event:Event):void{
    webView.removeEventListener(Event.COMPLETE, closeWebView);
    webView.stage = null;
    webView.dispose();

    _isLoggedIn = false;
    _logoutAttemptInProgress = false;
}

FacebookDesktop.logout(null, APP_ORIGIN);
}
“lksmlrsgnlskn”只是一些随机垃圾来到错误页面,它比主页小得多,加载速度更快。 FacebookDesktop.logout用于清除Facebook lib可能仍有的任何本地SharedObject数据。     
这是cookie的问题,我的意思是,当用户按下第一个用户登录API日志时,第一个用户会话仍然存在。 我不知道为什么,但Facebook Api注销方法不会将用户从Facebook中注销,只会将用户从您的应用程序中注销。 如果您找到了解决方案或想到别的东西,请告诉我们,以便我们得到解决方案。     

要回复问题请先登录注册