I get error FB not defined when using Facebook Javascript SDK
FB.init({
appId: '{APP ID}',
status: true,
cookie: true,
xfbml: true
});
I get error FB not defined when using Facebook Javascript SDK
FB.init({
appId: '{APP ID}',
status: true,
cookie: true,
xfbml: true
});
Two things-
I can't see the JS SDK been loaded.
You have to call your FB functions after the SDK is loaded asynchronously, else it will throw that FB is not defined
So, to fix it-
// This will be triggered automatically after the SDK is loaded successfully
// write your FB fucntions inside this
window.fbAsyncInit = function() {
FB.init({
appId: '{app-id}',
status: true,
cookie: true,
xfbml: true
});
FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
GetData();
} else {
Login();
}
});
};
// JS SDK - this will be loaded asynchronously
(function(d, s, id){
var js, fjs = d.getElementsByTagName(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'));
function Login() {
...
...
}
function GetData() {
...
...
}
Edit:
I saw that you are requesting for the permission email and yet not using it. Use the actual email (not the facebook one) with- response.email
jsfiddle.....