我正在使用Adobe Flash构建器构建一个支持facebook的AIR桌面应用程序。到目前为止它工作正常,除了一个细节,一旦用户登录,该会话保持打开,即使按下注销按钮。我的注销代码如下:
protected function logout():void {
FacebookDesktop.logout(handleLogout, APP_ORIGIN);
}
我将APP_ORIGIN设置为“http://www.facebook.com”。我检查了Adobe的文档,他们说:appOrigin:String(default = null) - (可选)为您的应用指定的网站网址。清除html窗口cookie所必需的。但我不知道这意味着什么,我的应用程序指定的'网址网址'是什么?我从哪里得到它?对不起,如果这是一个菜鸟问题。
答案 0 :(得分:3)
尝试了20种不同的解决方法之后,唯一对我有用的解决方案是: http://nekyouto-tech.blogspot.de/2012/09/fb-adobe-air-logout-bug.html
var uri:String = APP_ORIGIN;
var params:URLVariables = new URLVariables();
params.next = uri;
params.access_token = FacebookDesktop.getSession().accessToken;
var req:URLRequest = new URLRequest("https://www.facebook.com/logout.php");
req.method = URLRequestMethod.GET;
req.data = params;
var netLoader:URLLoader = new URLLoader();
netLoader.load(req);
FacebookDesktop.logout(handleLogout, APP_ORIGIN);
答案 1 :(得分:1)
这对我有用
public function facebookLogout():void {
if (FacebookDesktop.getSession() != null) {
var uri:String = "http://www.facebook.com/";
var params:URLVariables = new URLVariables();
params.next = uri;
params.access_token = FacebookDesktop.getSession().accessToken;
var req:URLRequest = new URLRequest("https://www.facebook.com/logout.php");
req.method = URLRequestMethod.GET;
req.data = params;
var netLoader:URLLoader = new URLLoader();
netLoader.load(req);
FacebookDesktop.logout(handleLogout, uri);
}
}
答案 2 :(得分:0)
没关系,我弄清楚了,我所做的是将我的应用程序来源定义为localhost,现在它可以正常工作。