Pergunta

Estou fazendo um jogo para o Facebook e quero que eles possam fazer login e entrar no jogo.Eu tenho o botão de login com a tela pop-up e as permissões necessárias, mas não consigo redirecioná-los de volta para o meu URL.

eu uso esse código:

<div id="fb-root"></div>
<script>(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/nl_NL/all.js#xfbml=1&appId=380841622050947";
  fjs.parentNode.insertBefore(js, fjs);
  window.navigate("www.google.com");
}(document, 'script', 'facebook-jssdk')); </script>

<div class="fb-login-button" data-max-rows="5" data-size="xlarge" data-show-faces="true" data-auto-logout-link="false" scope="email,publish_stream"></div>

O que estou perdendo?

eu tentei usar isso:

window.navigate(”top.jsp”);

Mas não consigo capturar a ação "jogador conectado", então posso redirecionar depois disso.

Desde já, obrigado!!

Foi útil?

Solução

Se quiser redirecionar o usuário após o login bem-sucedido, você pode usar FB.Event.subscribe-

O código completo seria-

<div id="fb-root"></div>
<script>(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/nl_NL/all.js#xfbml=1&appId=380841622050947";
   fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk')); 

   window.fbAsyncInit = function() {
      FB.init({
        appId      : '380841622050947',
        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.login', function(r){
         console.log(r.status);
         if ( r.status === 'connected'){
              window.location.href = '{redirect-to-url}'
         }
      });
    };
</script>

<div class="fb-login-button" data-max-rows="5" data-size="xlarge" data-show-faces="true" data-auto-logout-link="false" scope="email,publish_stream"></div>

Outras dicas

Bem, parece que você não está usando o código completo necessário para poder fazer login via JS SDK.Dê uma olhada no guia sob https://developers.facebook.com / docs / Facebook-login / login-flow-for-web

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top