原始问题: Facebook注销网址无效2014年
好吧,我尝试使用网址从facebook登出但是无法正常工作, 我使用了这个网址:
https://www.facebook.com/logout.php?confirm=1&next=http://www.foo.com&access_token=XX
答案:url无法正常工作的问题是access_token = xxxx **& expiresIn = 123 **,expiresIn参数标记是URL无法正常工作的主要原因,但我最终使用了无论如何,JS SDK。但是我仍然遇到问题,任何人都可以帮我解决下面提到的更新问题。
我有一种情况,我无法使用javascript替代品。因为我没有使用Javascript SDK来开始登录用户。我正在构建的应用程序是在Scala中,所以我没有任何SDK,只是网址。
@ 更新:我解决了使用我的应用程序注销人员的问题,通过使用facebook javascript SDK,它只是加载sdk并调用logout api,下面的代码片段。
但我仍然遇到问题,即如果用户使用他们的Facebook帐户登录我的应用程序,但是然后在权限对话框中没有授予我的FB应用程序,则会有活动 facebook会话正在运行,无法清除或记录他/她(我正在构建 KIOSK APP ,因此这将是一个死锁条件)。
我无法使用 Logout API 将其注销,因此如何清除会话。我检查了各种SO帖子以清除会话cookie,但似乎都没有。
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxx',
cookie : true, // enable cookies to allow the server to access
// the session
xfbml : true, // parse social plugins on this page
version : 'v2.1' // use version 2.1
});
FB.getLoginStatus(function(response) {
if (response && response.status === 'connected') {
FB.logout(function(response) {
document.location.reload();
});
}
});
};
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));