Pergunta

Examinei várias documentações e perguntas aqui no stackoverflow e ainda não consigo descobrir por que o código a seguir não dispara nenhum dos eventos FB.Event.subscribe getLoginStatus.

<div id="fb-root">
<script>
    (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));

    window.fbAsyncInit = function () {
        FB.init({
            appId: '{appID}', // App ID
            channelUrl: '{channelURL}', // Channel File
            status: true, // check login status
            cookie: true, // enable cookies to allow the server to access the session
            xfbml: true,  // parse XFBML
            oauth: true // enable OAuth 2.0
        });

        FB.Event.subscribe('auth.authResponseChange', function (response) {
            console.log(response);
        });

        FB.Event.subscribe('auth.login', function (response) {
            console.log(response);
        });

        FB.Event.subscribe('auth.statusChange', function (response) {
            console.log(response);
        });

        FB.getLoginStatus(function (response) {
            console.log(response);
        });
    };

</script>
</div>
<div>
    <div class="fb-login-button" data-show-faces="true" data-width="400" data-max-rows="1"></div>
</div> 
Foi útil?

Solução

Caso alguém precise, encontrei a resposta para minha pergunta nesta outra pergunta:

FB.Event.subscribe não funciona para auth.login, auth.logout e auth.statusChange

Entrei no Facebook e atualizei o URL do Canvas para o URL do meu host local e funcionou.

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