2013-03-31 12 views
5

Il login funziona, ma richiede solo le autorizzazioni di base e nessun avviso si attiva quando si cancella o termina la finestra di dialogo.FB.login() non richiede autorizzazioni specificate

window.fbAsyncInit = function() { 

    // init the FB JS SDK 
    FB.init({ 
     appId  : 'XXX', // App ID from the App Dashboard 
     channelUrl : 'XXX', // Channel File for x-domain communication 
     cookie  : true, // set sessions cookies to allow your server to access the session? 
     xfbml  : true, // parse XFBML tags on this page? 
     frictionlessRequests: true, 
     oauth: true 
    }); 

    FB.login(function(response) { 
     if (response.authResponse) { 
     alert("ok"); 
     } else { 
     alert("canceled"); 
     } 
    }, {scope:'publish_actions,publish_stream'}); 

    }; 

risposta

9

Si sta utilizzando fb: login-button? In tal caso, hai provato ad aggiungere le autorizzazioni lì invece che in FB.login()? Quindi sarebbe simile:

<fb:login-button scope="publish_actions,publish_stream"></fb:login-button> 
+2

Questa risposta dovrebbe essere contrassegnata come la risposta giusta. Questo ha risolto il mio problema. Il metodo 'FB.Login' non invia il parametro' scope' quando si utilizza 'fb: login-button'. Sembra un bug della biblioteca di Facebook. –

+1

Questo ci è voluto molto tempo per trovare! Qualcuno ha segnalato questo a Facebook come un bug ancora? Quando si usa 'XFBML',' {scope: ''} 'viene completamente ignorato. –

0

Non so se si utilizzerà OG azioni, in caso contrario, si dovrebbe leggere questo circa il publish_actions/publish_stream: http://developers.facebook.com/blog/post/2012/04/25/streamlining-publish_stream-and-publish_actions-permissions/

per il vostro problema sugli avvisi, provare a rimuovere l'OAuth var.

+0

Provato, non ha funzionato. 'FB.login (function (response) {}, {scope: 'publish_actions'});' anche non funziona .. – Chris

+0

Funziona quando l'ho inserito direttamente nell'evento onlick: 'onclick =" FB.login (function (risposta) {}, {scope: 'publish_actions'}); " – Chris

+0

Vedo, comunque, non è una buona idea sparare automaticamente a FB.login() e su ogni pagina. Ecco un piccolo esempio che dovrebbe aiutarti: http://facebook.stackoverflow.com/a/15720747/2212966 –

2

Importante: Se l'applicazione Facebook è pubblico quindi inviare il permesso che si voleva per una revisione per Facebook, se non avete fatto questo. Controlla la dashboard degli sviluppatori. Se sei in fase di sviluppo, non rendere pubblica la tua app e aggiungi utenti per testare la dashboard di Facebook.

+0

Grazie! Sto appena iniziando. Non capivo perché le query con permessi aggiuntivi funzionassero tramite Graph API Explorer, ma non nella mia app. La tua risposta mi ha fatto scollare. Ha perfettamente senso ora. –

Problemi correlati