2015-10-22 3 views
2

Я хочу войти на мой сайт, используя facebook. Ниже приведен пример на https://developers.facebook.com/docs/facebook-login/web. Но если я введу его в html-файл (с изменением идентификатора приложения, конечно), он просто ничего не делает, и я не знаю почему. Также в веб-консоли я ничего не вижу.Facebook login web

<!DOCTYPE html> 
<html> 
<head> 
<title>Facebook Login JavaScript Example</title> 
<meta charset="UTF-8"> 
</head> 
<body> 

<script> 
    // This is called with the results from from FB.getLoginStatus(). 
    function statusChangeCallback(response) { 
    console.log('statusChangeCallback'); 
    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. 
     document.getElementById('status').innerHTML = 'Please log ' + 
     'into this app.'; 
    } else { 
     // The person is not logged into Facebook, so we're not sure if 
     // they are logged into this app or not. 
     document.getElementById('status').innerHTML = 'Please log ' + 
     'into Facebook.'; 
    } 
    } 

    // 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  : '1234567890', 
    cookie  : true, // enable cookies to allow the server to access 
         // the session 
    xfbml  : true, // parse social plugins on this page 
    version : 'v2.3' // use version 2.3 
    }); 

    // 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('Successful login for: ' + response.name); 
     document.getElementById('status').innerHTML = 
     'Thanks for logging in, ' + response.name + '!'; 
    }); 
    } 
</script> 

<!-- 
    Below we include the Login Button social plugin. This button uses 
    the JavaScript SDK to present a graphical Login button that triggers 
    the FB.login() function when clicked. 
--> 

<fb:login-button scope="public_profile,email" onlogin="checkLoginState();"> 
</fb:login-button> 

<div id="status"> 
</div> 

</body> 
</html> 

Может ли кто-нибудь помочь мне и получить этот первый пример работы? Спасибо заранее.

С наилучшими пожеланиями

+0

Вы опубликовали свое приложение в своем параметре разработки fb? и поместите свой URL-адрес обратного вызова? –

ответ

1

Try: Перейти к facebook developper страницы. На вкладке «Настройки» добавьте домены приложений в поле «домен приложения» (это ваш URL-адрес приложения), после чего вам нужно подождать несколько минут и перейти к «статусу и просмотру» и переключить свое приложение в общедоступном режиме. Эффект появляется через несколько минут (20-30 минут) и повторите попытку.

+0

Итак, я правильно понимаю, что сначала невозможно исследовать его на моей локальной машине через localhost? – LilK3ks

+0

да поставьте свой URL-адрес localhost в домене приложений, зарегистрированном в Fb develloper странице –

+0

Yaaaay - вы спасли мою жизнь: D Большое вам спасибо. Не знаю, почему Facebook не предоставляет эту информацию нигде. – LilK3ks

-2

Ваше приложение 1234567890. Это совпадение, или вы только что составили его? Если это последний, зайдите в developers.facebook.com, чтобы настроить приложение. В противном случае FB.getLoginStatus получит исключение и не выполнит statusChangeCallback.

+0

Я не хочу показывать свое настоящее приложение здесь. Итак, мой реальный идентификатор приложения стоит прямо там, и 1234567890 только что составлен. – LilK3ks