Reputation: 1990
I get error FB not defined
when using Facebook Javascript SDK
FB.init({
appId: '{APP ID}',
status: true,
cookie: true,
xfbml: true
});
Upvotes: 0
Views: 6749
Reputation: 20753
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
Upvotes: 6