2012-07-27 13 views
7

Per la vita di me non riesco a far funzionare Event.subscribe ('auth.authResponseChange'). Vedere codice qui sottofacebook FB.Event.subscribe ('auth.authResponseChange') non funziona

<div id="fb-root"> 
    </div> 
    <script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
       appId: 'XXXXXXXXXXXXXXX', // App ID 
       channelUrl: 'http://XXXXXXXX.us/', // 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) { 
       alert('The status of the session is: ' + response.status); 
      }); 
     }; 


     // 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)); 
    </script> 
    <div class="fb-login-button" data-size="xlarge" scope="email" data-show-faces="false" 
     data-width="400" data-max-rows="1" autologoutlink="true"> 
     Login with Facebook</div> 

Il pulsante di accesso rende. e posso anche disconnettermi. l'unico problema è che la modifica auth.response non si attiva e non visualizzo il popup "messaggio"

+0

FBML sarà presto obsoleto. Meglio non usarlo. – InspiredJW

+3

@InspiredJW FBML è già deprecato, questo è XFBML, qualcosa che non sarà deprecato –

+0

hai provato a controllare solo 'response [0]'? Secondo la documentazione, * Nota che per alcuni casi, il valore della risposta è unkeyed, ma quando viene restituita più di una variabile, contiene le chiavi appropriate. * => http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/ – PlantTheIdea

risposta

-4

La funzione fbAsyncInit viene chiamata in modo asincrono per cui non verranno visualizzati messaggi di avviso. Prova console.log invece per il debug.

-1

Il tuo codice sembra buono.

Vorrei accedere all'app Facebook e controllare in particolare 2 impostazioni.

  1. Check 'Sandbox Mode' -assicurare è impostato su 'Disabilitato'
  2. Controllare l'URL del sito e/o l'URL Canvas -assicurare sono impostati al tuo dominio. (Vale a dire se si sta lavorando su questo locale l'URL dovrebbe essere simile a http://localhost:#####/ dove ##### è la porta.

Speranza che aiuta.

+0

hey, sai come per scoprire il mio porto numero per questo? – LazerSharks

+0

Se lavori in Visual Studio, da Esplora soluzioni fai clic con il tasto destro del mouse sul progetto web e fai clic su Proprietà. Alla tua sinistra, 3a giù, scegli Web. Nella sezione Server seleziona 'Porta specifica' e usa il valore predefinito o scegli uno nuovo. – KevinM

Problemi correlati