誕生日の許可について、Facebook接続に少し問題があります。
私が持っているhtmlの本文に:
<div class="fb-login-button" scope="user_birthday, user_about_me" perms="email,user_birthday"> Login with Facebook </div>
jSのヘッダーには、次のものがあります。
<script>
// Additional JS functions here
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXXX', // App ID
channelUrl : '//connect.facebook.net/en_US/all.js', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional init code here
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// connected
FB.api('/me??accessToken='+response.authResponse.accessToken, function(user) {
var monthfb = user.birthday.substr(0,2);
var dayfb = user.birthday.substr(3,2);
var yearfb = user.birthday.substr(6,4);
$("input[id=year]").val(monthfb);
$("input[id=month]").val(dayfb);
$("input[id=day]").val(yearfb);
$("a.age_gate_submit").click();
alert('1');
console.log(user);
//$.cookie('age_gate', 'gohome',{ expires: 99 });
window.location = "home.html";
});
}
});
};
function login() {
FB.login(function(response) {
if (response.authResponse) {
// connected
FB.api('/me??accessToken='+response.authResponse.accessToken, function(user) {
var monthfb = user.birthday.substr(0,2);
var dayfb = user.birthday.substr(3,2);
var yearfb = user.birthday.substr(6,4);
$("a.age_gate_submit").click();
alert('2');
//console.log(response.birthday);
console.log(user);
//$.cookie('age_gate', 'gohome',{ expires: 99 });
window.location = "home.html";
});
}
});
}
// 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#xfbml=1&appId=XXXXXXX";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
ボタンをクリックすると、適切なウィンドウが表示され、FB アプリを受け入れますが、jS が呼び出している関数がないため、window.locations が機能しません。しかし、リフレッシュしたら大丈夫です。誕生日などを取ることができます...だから問題は、アプリを受け入れた瞬間にあります。リダイレクトはどうすればいいですか???