次のコードに問題があります。JS によると、response.session
有効な場合、alert("User is logged in!");
. 問題は、セッションが有効であることは確かですが、「ユーザーがログインしていません!」という警告が表示されることです。以前にログインしたことがありpublish_stream
、ウィンドウが表示されたときにアプリを許可したため、セッションが有効であることはわかっています。FB からアプリを削除しようとしましたが、もう一度許可しても、「ユーザーがログインしていません!」という警告が表示されます。コードの何が問題になっていますか?
<html>
<head>
<title>My Facebook Login Page</title>
<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '436956019655560',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
};
function fbLogin() {
FB.login(function(response) {
if (response.session) {
console.log("User is connected to the application.");
var accessToken = response.session.access_token;
alert("User is logged in!");
} else {
alert("User is not logged in!");
}
}, {scope:'publish_stream'});
}
</script>
</head>
<body>
<div id="fb-root"></div>
<INPUT TYPE="BUTTON" ONCLICK="fbLogin()" value="login">
</body>
</html>