我有一个adobe air应用程序。我刚刚在其中添加了facebook功能。
我的问题是用户可以正常登录并开展活动。
按照我用于注销的代码:
protected function logout(callback:Function = null,appOrigin:String = null):void { this.logoutCallback = callback;
//clears cookie for mobile.
var params:Object = {};
params.confirm = 1;
params.next = appOrigin;
params.access_token = accessToken;
var req:FacebookRequest = new FacebookRequest();
openRequests[req] = handleLogout;
req.call("https://m.facebook.com/logout.php", "GET" , handleRequestLoad, params);
var so:SharedObject = SharedObject.getLocal(SO_NAME);
so.clear();
so.flush();
session = null;
}
我正在通过“https://www.facebook.com/”作为appOrigin
但注销功能无效。
任何帮助表示感谢。
答案 0 :(得分:1)
默认注销功能似乎无法通过FacebookMobile动作脚本API正确清除Cookie。 comment #33 here中的解决方案为我工作,转载于此。请务必在您自己的APP_ID中填写:
function logout(e:MouseEvent):void {
FacebookMobile.logout(onLogout, "https://m.facebook.com/dialog/permissions.request?app_id=APP_ID&display=touch&next=http%3A%2F%2Fwww.facebook.com%2Fconnect%2Flogin_success.html&type=user_agent&perms=publish_stream&fbconnect=1");
}
function onLogout(result:Object):void
{
trace("Perfect Log Out!")
}
答案 1 :(得分:0)
我为iOS移动应用做了类似的事情。我刚刚创建了一个字符串,类似于上一个答案中的字符串,并将回调添加到FacebookMobile.logout()
。
有趣的是,这似乎会让您退出应用程序,但访问令牌保持不变;至少在我测试它的短时间内,但它确实每次强制重新登录。