Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to login using Facebook account?

I have been through this link and tried the code.

I am doing the same thing but there is no response coming from Facebook. No popup (not blocked). My code is given below:

<div id="fb-root"></div>
<script>


// Additional JS functions here


window.fbAsyncInit = function() {


FB.init({

      appId      : 'myappid', // App ID
      channelUrl : '//myurl/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });


FB.getLoginStatus(function(response) {
alert("Response");
alert("getloginstatus");
    if (response.status === 'connected') {
        // connected
    } else if (response.status === 'not_authorized') {
        // not_authorized
        login();
    } else {
        // not_logged_in
        login();
    }
});

};


  (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);
     alert("Lodaed SDK");
   }(document));

function testAPI() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
        alert("Good to see you, " + response.name + ".");
    });
}

function login() {
    FB.login(function(response) {
        if (response.authResponse) {
            // connected
        } else {
            // cancelled
        }
    });
}





</script>
</div>

Please tell me what I am doing wrong. I yea, I have not any checkbox in

Select how your app integrates with Facebook.

during creating Facebook app. If I have to define url so what I have given?

like image 355
Madhur Rampal Avatar asked Nov 27 '12 08:11

Madhur Rampal


People also ask

How can I login my FB account without password?

You may be able to get back into your Facebook account by using an alternate email or mobile phone number listed on your account. Using a computer or mobile phone that you have previously used to log into your Facebook account, go to facebook.com/login/identify and follow the instructions.

How do I see all my Facebook accounts?

Classic mobile browser experienceTap in the top right of Facebook. Scroll down and tap Settings & Privacy, then tap Settings. At the bottom, tap Accounts Center. Tap Accounts.


2 Answers

        <script>
      // This is called with the results from from FB.getLoginStatus().
      function statusChangeCallback(response) {
        console.log(response);
        // The response object is returned with a status field that lets the
        // app know the current login status of the person.
        // Full docs on the response object can be found in the documentation
        // for FB.getLoginStatus().
        if (response.status === 'connected') {
          // Logged into your app and Facebook.
          testAPI();
        } else if (response.status === 'not_authorized') {
          // The person is logged into Facebook, but not your app.
          console.log("The person is logged into Facebook, but not your app.");
        } else {
          // The person is not logged into Facebook, so we're not sure if
          // they are logged into this app or not.
        }
      }

      // This function is called when someone finishes with the Login
      // Button.  See the onlogin handler attached to it in the sample
      // code below.
      function checkLoginState() {
        FB.getLoginStatus(function(response) {
          statusChangeCallback(response);
        });
      }

      window.fbAsyncInit = function() {
        FB.init({
          appId: '{Your App Id}',
          cookie: true, // enable cookies to allow the server to access 
          // the session
          xfbml: true, // parse social plugins on this page
          version: 'v2.2' // use version 2.2
        });

        // Now that we've initialized the JavaScript SDK, we call 
        // FB.getLoginStatus().  This function gets the state of the
        // person visiting this page and can return one of three states to
        // the callback you provide.  They can be:
        //
        // 1. Logged into your app ('connected')
        // 2. Logged into Facebook, but not your app ('not_authorized')
        // 3. Not logged into Facebook and can't tell if they are logged into
        //    your app or not.
        //
        // These three cases are handled in the callback function.

        FB.getLoginStatus(function(response) {
          statusChangeCallback(response);
        });

      };

      // Load the SDK 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/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));

      // Here we run a very simple test of the Graph API after login is
      // successful.  See statusChangeCallback() for when this call is made.
      function testAPI() {
        console.log('Welcome!  Fetching your information.... ');
        FB.api('/me', function(response) {
          console.log("Fb response");
          console.log(response);
          console.log('Successful login for: ' + response.name);
          document.getElementById('status').innerHTML =
            'Thanks for logging in, ' + response.name + '!';
        });
      }
      </script>

In Body , use :-

    <fb:login-button scope="public_profile,email" onlogin="checkLoginState();">
  </fb:login-button>
like image 190
Abhay Kumar Avatar answered Sep 22 '22 06:09

Abhay Kumar


<!DOCTYPE html>
<html>
     <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <title></title>
     <link rel="stylesheet" type="text/css" href="">
</head>
<body>
  <script>



  window.fbAsyncInit = function() {
        FB.init({
            appId      : '1736082853383409',
            xfbml      : true,
            version    : 'v2.8'
        });
        FB.getLoginStatus(function(response){
            if(response.status === 'connected'){
                document.getElementById('status').innerHTML = 'we are connected';
            } else if(response.status === 'not_authorized') {
                 document.getElementById('status').innerHTML = 'we are not logged in.'
            } else {
                document.getElementById('status').innerHTML = 'you are not logged in to Facebook';
            }
        });
    // FB.AppEvents.logPageView();
    };

    (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/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    function login(){
        FB.login(function(response){
            if(response.status === 'connected'){
                document.getElementById('status').innerHTML = 'we are connected';
            } else if(response.status === 'not_authorized') {
                 document.getElementById('status').innerHTML = 'we are not logged in.'
            } else {
                document.getElementById('status').innerHTML = 'you are not logged in to Facebook';
            }

        });
    }
    // get user basic info

    function getInfo() {
        FB.api('/me', 'GET', {fields: 'first_name,last_name,name,id'}, function(response) {
            document.getElementById('status').innerHTML = response.id;
        });
    }

    function logout(){
        FB.logout(function(response) {
            document.location.reload();
        });
    }


</script>
<div id="status"></div>
<!-- <button onclick="getInfo()">Get Info</button> -->
<button onclick="login()">login</button>
<button onclick="logout()">logout</button>

</body>
</html>
like image 42
Mehandi Hassan Avatar answered Sep 20 '22 06:09

Mehandi Hassan