我需要使用 javascript sdk 实现 Facebook 连接,现在,我能够允许用户使用他们的 facebook 凭据登录我的网站..但问题是每次用户访问我的页面时它都会要求 facebook 登录..是否有可能已经登录的用户允许发布、共享和访问他们的个人资料详细信息和 friend 列表等……自动……任何人都可以帮我解决这个问题……提前谢谢你…… 目前我的代码是这样的...
在此输入代码
//异步加载SDK
(函数(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
如果(d.getElementById(id)){返回; }
js = d.createElement('脚本'); js.id = id; js.异步=真;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(文档));
// Init the SDK upon load
window.fbAsyncInit = function () {
FB.init({
appId: 'xxxxxxxxxxxxx', // App ID
channelUrl: '//' + window.location.hostname + '/channel', // Path to your Channel File
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true // parse XFBML
});
// listen for and handle auth.statusChange events
FB.Event.subscribe('auth.statusChange', function (response) {
if (response.authResponse) {
// user has auth'd your app and is logged into Facebook
FB.api('/me', function (me) {
if (me.name) {
document.getElementById('auth-displayname').innerHTML = me.name;
document.getElementById('UserEmail').innerHTML = me.email;
document.getElementById('UserGender').innerHTML = me.gender;
document.getElementById('AccessToken').innerHTML = response.authResponse.accessToken;
getPhoto();
}
})
document.getElementById('auth-loggedout').style.display = 'none';
document.getElementById('auth-loggedin').style.display = 'block';
} else {
// user has not auth'd your app, or is not logged into Facebook
document.getElementById('auth-loggedout').style.display = 'block';
document.getElementById('auth-loggedin').style.display = 'none';
}
});
$("#auth-logoutlink").click(function () { FB.logout(function () { window.location.reload(); }); });
function getPhoto() {
FB.api('/me/picture?type=normal', function (response) {
var str = "<br/> <img src='" + response.data.url + "'/>";
document.getElementById("ProfilePic").innerHTML = str;
});
}
}
</script>
最佳答案
这太复杂了,你可以用FB.getLoginStatus
代替FB.Event.subscribe
,它会自动刷新Token:https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus
关于javascript - 如何重用 Facebook 访问 token 以使用 javascript sdk 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25179332/