Facebook JavaScript SDK-保存访问令牌

Facebook JavaScript SDK-保存访问令牌,javascript,facebook,facebook-javascript-sdk,Javascript,Facebook,Facebook Javascript Sdk,我尝试使用Facebook JavaScript SDK。我有我的代码,但它不能很好地工作,我发现。我网站上的问题是,如果我登录并重新加载页面,那么我的数据就丢失了,我的意思是访问令牌没有保存,就像没有连接一样。正如您在我添加的链接上看到的,您可以登录、刷新页面,几秒钟后(不是立即)加载所有内容。我应该在代码中添加什么?我把它粘贴在这里,但现在它和网站上的一样——我只需要理解为什么我的令牌没有保存(为什么我在重新加载后丢失了它)。在控制台中,在登录并刷新后,尝试注销时,我在没有访问令牌的情况下调

我尝试使用Facebook JavaScript SDK。我有我的代码,但它不能很好地工作,我发现。我网站上的问题是,如果我登录并重新加载页面,那么我的数据就丢失了,我的意思是访问令牌没有保存,就像没有连接一样。正如您在我添加的链接上看到的,您可以登录、刷新页面,几秒钟后(不是立即)加载所有内容。我应该在代码中添加什么?我把它粘贴在这里,但现在它和网站上的一样——我只需要理解为什么我的令牌没有保存(为什么我在重新加载后丢失了它)。在控制台中,在登录并刷新后,尝试注销时,我在没有访问令牌的情况下调用了
FB.logout()。

window.fbAsyninit=function(){
FB.init({
appId:'xxxxxxxxxxxxx',
cookie:true,//启用cookie以允许服务器访问会话
xfbml:是的,
版本:“v2.8”
});
//检查用户是否已登录
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
getFbUserData();
}
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/sdk.js”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
函数fbLogin(){
FB.登录(功能(响应){
if(response.authResponse){
getFbUserData();
}否则{
document.getElementById('status')。innerHTML='User已取消登录或未完全授权';
}
},{范围:'电子邮件'});
}
函数getFbUserData(){
api('/me',{locale:'en_US',fields:'email'},
功能(响应){
document.getElementById('fbLink').setAttribute(“onclick”,“fbLogout()”);
document.getElementById('fbLink')。innerHTML='Logout from Facebook';
document.getElementById('status').innerHTML='感谢您登录,'+response.email+'!';
});
}
函数fbLogout(){
FB.注销(函数(){
document.getElementById('fbLink').setAttribute(“onclick”,“fbLogin()”);
document.getElementById('userData')。innerHTML='';
document.getElementById('status')。innerHTML='您已成功从Facebook注销';
});
}
}


您的代码缺少某些内容(window.fbAsyninit),请看这个示例:复制时我的坏代码。我会编辑它。我的代码中有它,但它没有帮助。泰。