2013-05-30 1 views
-1

Я пытаюсь включить facebook login button в мой сайт. Я связал его с приложением, поэтому у меня есть app id и secret, если пользователь уже зарегистрирован.Войти на мой сайт с учетной записью Facebook

Я использовал JavaScript SDK с facebook, но когда я нажимаю кнопку входа в facebook, после авторизации ничего не происходит, и страница моего сайта отображается снова. Кто-нибудь знает, как получить user's email из Javascript SDK? Я хочу перенаправить на другую страницу после входа в систему, но после входа в систему он остается только на этой странице.

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

    window.fbAsyncInit = function() 
    { 

     FB.init({ 
      appId  : '178124332351909', // App ID 
      channelUrl : '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.Event.subscribe('auth.authResponseChange', function(response) 
     { 
      if (response.status === 'connected') 
      { 
       alert("connected"); 
       testAPI(); 
      } 
      else if (response.status === 'not_authorized') 
      { 
       alert("nt connected"); 
       FB.login(); 
      } 
      else 
      { 
       alert("else"); 
       FB.login(); 
      } 
     }); 
    }; 

    // Load the SDK asynchronously 
    (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); 
    }(document)); 

    // Here we run a very simple test of the Graph API after login is successful. 
    // This testAPI() function is only called in those cases. 
    function testAPI() 
    { 
     alert("in testapi"); 
     console.log('Welcome! Fetching your information.... '); 
     FB.api('/me', function(response) 
     { 
      console.log('Good to see you, ' + response.name + '.'); 
     }); 
    } 

</script> 

Ссылка: Add the login code

Пожалуйста, помогите, как перенаправить на другую страницу.

ответ

0
  1. Для просить разрешения на email, заменить Fb.login() с:

    FB.login(function(response) 
    { 
        if(response.status == 'connected'){ 
         alert('I am connected') 
        } 
    },{scope: 'email'}); 
    
  2. Для перенаправления пользователя на другую страницу после успешного входа в систему, просто написать код перенаправления в функции testAPI():

    function testAPI() 
    { 
        alert("in testapi"); 
        console.log('Welcome! Fetching your information.... '); 
        FB.api('/me', function(response) 
        { 
         console.log('Good to see you, ' + response.name + '.'); 
        }); 
        window.location="http://www.newlocation.com"; // HERE 
    } 
    
+0

перенаправления я написал код так же, как ц ... но после того, как Logi, когда я нажимаю кнопку назад он не собирается отступать ... – user2330772

+0

Вы имеете в виду Перенаправление успешна? И почему ты хочешь вернуться? Это потому, что вы автоматически перенаправляетесь при открытии приложения? Если да, то вы можете сделать кнопку facebook [logout] (https://developers.facebook.com/docs/reference/javascript/FB.logout/), или вы можете запустить приложение в браузере 'ingonito' или' clear кеш браузера и запустить. –

+0

okay ... на самом деле это то, что я создал приложение, используя мой fb login ... когда я нахожу логин в mysite..и запрашиваю идентификатор почты и pwd ... если это мой идентификатор, тогда он показывает мое имя профиля. ..это это не показывает ни одного имени ... почему его происходит я не понимаю ... – user2330772

0

Может быть 1 причина:

  • при нажатии на кнопку входа в систему >> он пытается открыть всплывающее окно >> если «разрешить всплывающее окно заблокировано» >> затем он просто обновит страницу, и пользователь будет думаю, что ничего не происходит.

Если вы хотите получить электронное письмо от пользователей, вы можете передать его как параметр «perms», как это.

<div class="fb-login-button" onclick="fbLoginClick();" perms="email"><div>