Facebook graph api 无法使用phonegap在windows8手机应用程序中从facebook注销。我怎样才能解决这个问题?
大家好,我正在Windows8手机应用程序中实现从facebook注销的功能。通过使用下面给定的代码,我可以从facebook注销,但当我再次单击facebook登录按钮时,它会自动登录,而无需询问电子邮件和密码Facebook graph api 无法使用phonegap在windows8手机应用程序中从facebook注销。我怎样才能解决这个问题?,facebook-graph-api,cordova,windows-phone-8,Facebook Graph Api,Cordova,Windows Phone 8,大家好,我正在Windows8手机应用程序中实现从facebook注销的功能。通过使用下面给定的代码,我可以从facebook注销,但当我再次单击facebook登录按钮时,它会自动登录,而无需询问电子邮件和密码 var redir_url1 = "http://www.facebook.com/connect/logout_success.html"; //redir_url1 is used to redirect it alert("inside prototype logout"); /
var redir_url1 = "http://www.facebook.com/connect/logout_success.html";
//redir_url1 is used to redirect it
alert("inside prototype logout");
//store the value of accesstoken locally in finalAccessTokens
var finalAccessToken1 = window.localStorage.getItem("finalAccessTokens");
alert("finalAccessToken1" + finalAccessToken1);
var authorize_url = "https://www.facebook.com/logout.php?confirm=1";
//alert("authorize_url" + authorize_url);
authorize_url += "next=" + redir_url1;
authorize_url += "&access_token=" + finalAccessToken1;
alert("logout url: " + authorize_url);
resetSession();
showWebPage1(authorize_url);
//call a function to open the webpage
}
function showWebPage1(loc) {
alert("logout loc" + loc);
// var locs=this.loc;
cordova.exec(success1, error1, "InAppBrowser", "ShowInAppBrowser", loc);
}
function success1(e) {
alert("logout success");
//var accessToken = window.localStorage.getItem("finalAccessTokens");
// var url = 'https://graph.facebook.com/me?access_token=' + accessToken;
//localStorage.removeItem(cookies);
//localStorage.removeItem(finalAccessTokens);
// closeAndClearTokenInformation;
//ClearInternetCacheAsync();
alert("After removing access token" + `enter code here`window.localStorage.getItem("finalAccessTokens"));
//finalAccessTokens is used to locally store the value of access token
window.localStorage.clear();
alert("success" + JSON.stringify(e));
var successLogout = JSON.stringify(e);
if ((successLogout.indexOf('https://www.facebook.com/home.php') != -1) &&
(successLogout.indexOf('loadstop') != -1)) {
alert("sss in close");
cordova.exec(null, null, "InAppBrowser", "close", []);
alert("after the handle is closed.....");
this.resetSession();
//to reset the session
}
}
function error1() {
alert("err");
}
FBConnect.prototype.resetSession = function () {
alert("session reset");
this.status = "unknown";
this.session = {};
alert("clear access token/////");
this.session.access_token = null;
alert(this.session.access_token);
this.session.expires = new Date().valueOf() - 1000;
this.session.secret = null;
this.session.session_key = null;
this.session.sig = null;
this.session.uid = null;
alert(this.session.uid);
}
您必须在注销后删除WebBrowser cookies。我不知道如何使用PhoneGap做到这一点,但在C#/XAML应用程序中,您可以这样删除它们:
await new WebBrowser().ClearCookiesAsync();
您不需要一步一步地注销,只需要清除所有cookies,然后重新加载。使用插件:我认为这是针对android和ios的,而不是针对windows8的。@user3852962请检查此项,但我想知道phonegap将如何完成此项工作??