我正在使用 Facebook JavaScript SDK。
当我单击网页上的 Facebook 分享按钮时,会弹出 Facebook 登录窗口。我输入用户名和密码,登录,然后消息
“用户取消登录或未完全授权”
出现了。我确实成功登录,但不知何故,请求的权限未被授权。
当我再次单击 Facebook 分享按钮时,消息
“用户已登录 Facebook,但未连接到应用程序”
出现了。
使用 App ID 和 App Secret 成功创建 Facebook 应用程序。我还在 App Domains 下输入了域名,并在 Website with Facebook Login 下输入了我的网站。
我不知道出了什么问题。
任何帮助表示赞赏!
这是 Facebook 登录窗口,但它不要求用户授权权限。
代码如下:
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'myAppId',
channelUrl : '/www.mydomain.com/channel.html',
oauth : true,
cookie : true,
status : false
});
facebookLogin();
};
function facebookLogin() {
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome!');
} else {
console.log('User cancelled login or not fully authorized');
}
},
{scope:'email,publish_actions'});
}
function checkLoginStatus() {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// Do something
} else if (response.status === 'not_authorized') {
// Do something
console.log("User is logged in to Facebook, but not connected to app");
} else {
// Do something else
}
});
}
(function(d, s, id) {
var js, fjs = d.getElementByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
.
.
.
</body>
这是按钮代码:
$('#fb-button').click(function() {
checkLoginStatus();
}