Как решить проблему «Пользователь зарегистрирован в Facebook, но не в вашем приложении» javascript sdk

#facebook #facebook-javascript-sdk

#Facebook #facebook-javascript-sdk

Вопрос:

Я хочу, чтобы мой веб-сайт входил в систему с помощью facebook, но я вижу эту ошибку.

     <script>
  // This is called with the results from from FB.getLoginStatus().
  function statusChangeCallback(response) {
    console.log('statusChangeCallback');
    // for FB.getLoginStatus().
    if (response.status === 'connected') {
      // Logged into your app and Facebook.
      // alert('login fb');
      document.getElementById('login').style.display = 'none';
      document.getElementById('startbtn').style.display = 'block';

      testAPI();
    } else if (response.status === 'not_authorized') {
      // The person is logged into Facebook, but not your app.
      alert('not authorized');

    } else {
      // The person is not logged into Facebook, so we're not sure if
      alert('not login fb');
      document.getElementById('login').style.display = 'block';
      document.getElementById('startbtn').style.display = 'none';
    }
  }

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

  window.fbAsyncInit = function() {
  FB.init({
    appId      : 'my app id',
    oauth   : true,
    cookie     : true,  // enable cookies to allow the server to access 
                        // the session
    xfbml      : true,  // parse social plugins on this page
    version    : 'v2.5' // use graph api version 2.5
  });

</script>
  

Он работает на mycomputer и другом компьютере.Но один из компьютеров
Показать оповещение (не авторизовано) и не может войти в систему.
Как я могу решить эту проблему.

Ответ №1:

Вы можете вызвать представление входа в Facebook, если статус есть not_authorized . Попробуйте это:

 if (response.status === 'not_authorized') {
      // The person is logged into Facebook, but not your app.
      console.log('Please log into this app.');
      fbLogin();
    }

  function fbLogin(){
      FB.login(function(response) {
        if (response.authResponse) {
         console.log('Welcome!  Fetching your information.... ');
         FB.api('/me/?fields=picture,name,email', function(response) {
            console.log(response);
           console.log('Successful login for: '   response.name);
           document.getElementById('status').innerHTML =
             'Thanks for logging in, '   response.name   '!';

         });
        } else {
         console.log('User cancelled login or did not fully authorize.');
        }
    });

  }
  

Комментарии:

1. Я все еще сталкиваюсь с новой ошибкой. Firefox не позволил этому сайту открыть новое всплывающее окно.