New to Facebook apps, developing a test app using JavaScript:
アプリの管理者(一般ユーザー)として Facebook にログインしています。
FB.getLoginStatus が response.status === 'not_authorized' を返すところまで来ました。
- FB.login を呼び出します。
「エラーが発生しました。後でやり直してください」というポップアップが表示されます。
FB.login は、response.authResponse = null でコールバックします。
コンソール ログには、「ログ: コールバック 1 が見つかりませんでした」と表示されます。
すべてのブラウザーで同じエラーが表示されます... ヘルプ?
Here is the relevant code - I replaced actual strings by ######:
<div id="fb-root"></div>
<script>
var init_status = 1;
var login_status = 1;
var signedRequest = ' ';
window.fbAsyncInit = function() {
FB.init({
appId : '######', // App ID from the App Dashboard
channelUrl : 'http://#####/channel.php', // Channel File for x-domain communication
status : true, // check the login status upon init?
cookie : true, // set sessions cookies to allow your server to access the session?
xfbml : false // parse XFBML tags on this page?
});
getLoginStatus();
};
// 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));
call_proceed1_when_ready(); // wait for init_status > 1
function proceed1() {
// Login the user and/or authenticate with app, if necessary:
if (init_status > 2) {
login ();
} else {
login_status = 2;
}
call_proceed2_when_ready(); // wait for login_status > 1
} //proceed1
function proceed2() {
alert('DONE');
} //proceed2
////////////////
// FUNCTIONS: //
////////////////
function call_proceed1_when_ready () {
if (init_status > 1) {
proceed1();
} else {
setTimeout(call_proceed1_when_ready, 500); // 0.5 second
}
}
function call_proceed2_when_ready () {
if (login_status > 1) {
proceed2();
} else {
setTimeout(call_proceed2_when_ready, 500); // 0.5 second
}
}
function getLoginStatus() {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
signedRequest = response.authResponse.signedRequest;
init_status = 2;
} else if (response.status === 'not_authorized') {
init_status = 3;
} else {
init_status = 4;
}
});
}
function login() {
FB.login(function(response) {
if (response.authResponse) {
login_status = 2;
} else {
login_status = 3;
}
});
}
</script>