gpt4 book ai didi

javascript - getLoginStatus javascript facebook 在页面重新加载时消失

转载 作者:搜寻专家 更新时间:2023-11-01 04:59:59 26 4
gpt4 key购买 nike

我实现了 facebook 连接并且工作正常。

此函数在登录后返回我的名字。

FB.getLoginStatus(function (response) {
if (response && response.status === 'connected') {
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
//console.log('connected');
} else {
console.log('not connected with FB');
}
});

但是,当我重新加载页面时,我想起了这个函数,它返回“未连接到 FB”。

我加入我的登录功能来帮助:

    FB.login(function(response) {

if (response.authResponse){
//L'utilisateur a autorisé l'application
//window.location.replace("http://adresse/de/redirection");
} else {
//L'utilisateur n'a pas autorisé l'application
}
}, {scope: 'public_profile,user_friends,email'});

我在 facebook 文档中没有找到任何解决方案

为了显示问题,我的控制台日志是这样的: console log with my code

编辑:请找到附上我的完整代码。我从本地主机处理

<!DOCTYPE html>
<html>
<head>
<title>Facebook Login JavaScript Example</title>
<meta charset="UTF-8">

</head>
<body>

<button id="loginBtn">Facebook Login</button>
<div id="response"></div>

</body>
<script>

function getUserData() {
FB.api('/me', function(response) {
document.getElementById('response').innerHTML = 'Hello ' + response.name;
});
}

window.fbAsyncInit = function() {
//SDK loaded, initialize it
FB.init({
appId : 'XXXX',
xfbml : true,
version : 'v2.2'
});

//check user session and refresh it
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
//user is authorized
document.getElementById('loginBtn').style.display = 'none';
getUserData();
} else {
console.log(response.status);
//user is not authorized
}
});
};

//load the JavaScript SDK
(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'));

//add event listener to login button
document.getElementById('loginBtn').addEventListener('click', function() {
//do the login
FB.login(function(response) {
if (response.authResponse) {
//user just authorized your app
document.getElementById('loginBtn').style.display = 'none';
console.log(response);
getUserData();
}
}, {scope: 'public_profile,user_friends,email', return_scopes: true});
}, false);
</script>
</html>

感谢支持

最佳答案

对于草率阅读此页面的任何人(就像我一样),正确答案已作为对问题的评论发布。

解决方案是在调用 FB.init 时将 cookie: true 添加到选项对象。

关于javascript - getLoginStatus javascript facebook 在页面重新加载时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37415914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com