以下のようにFacebookにログインしています。ただし、イベントはトリガーされません(FB.Event.subscribe(..)、GetFBLoginStatus())。ローカルホストで実行し、アプリケーションで指定しますが、この目的では必要ありません。javascriptがロードされていないように見えますが、facebookbuttonがレンダリングされています。何を変更する必要がありますか?「ログイン」をクリックすると、ポップアップウィンドウがアクセス許可を要求しますが、それ以上は何も表示されません。
<html>
<head>
<title>My Facebook Login Page</title>
</head>
<body>
<div id="fb-root"></div>
<script type ="text/javascript">
window.fbAsyncInit = function () {
FB.init({
appId: 'some id', // App ID
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true // parse XFBML
});
FB.Event.subscribe('auth.login', function (response) { alert('You logged in'); });
};
// Load the SDK Asynchronously
(function (d) {
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
} (document));
function GetFBLoginStatus() {
FB.getLoginStatus(function (response) {
console.log(response);
if (response.status === 'connected') {
var accessToken = response.authResponse.accessToken;
alert(accessToken);
} else if (response.status === 'not_authorized') {
//login function
alert('login first');
} else {
//login function
alert('login first');
}
}, true);
}
</script>
<div class="fb-login-button" scope="email,user_checkins,read_mailbox">Login with Facebook</div>
//this function is not work -> javascript not loaded?
<button onclick = "GetFBLoginStatus();">GetStatus</button>
</body>