Posso usare Facebook fb: amico-selettore in un iframe?

voti
21

Sto cercando di usare di Facebook fb:friend-selectortag FBML, ma la mia applicazione è in esecuzione in un iframe. E 'possibile utilizzare questo tag in un iframe? Se è così qualcuno ha qualche esempio?

È pubblicato 04/05/2009 alle 15:47
fonte dall'utente
In altre lingue...                            


4 risposte

voti
16

Sì, questo è sicuramente possibile, ma è necessario utilizzare Facebook Connect e XFBML . In particolare, si desidera utilizzare la fb: serverfbml tag per ottenere fb: amico-selettore di lavoro. Ho un app iframe per cui io uso tutto questo e la fb: amico-selettore nella norma "invitare amici per la vostra applicazione" contesto, e funziona benissimo.

Ecco il corpo del mio file di modello, che ottiene in uscita all'interno del corpo del mio iframe:

<fb:serverfbml style="width: 650px;"> 
<script type="text/fbml">
    <fb:fbml> 
        <fb:request-form
            action="http://example.com/invite/sent"
            method="POST"
            invite="true"
            type="My App"
            content="Try out my app!
                <fb:req-choice url='http://your-facebook-canvas-url'
                label='<?php echo htmlspecialchars("Accept button text",ENT_QUOTES); ?>'
                /> 
            " > 
            <fb:multi-friend-selector
                showborder="false"
                actiontext="Invite your friends to try My App."
                exclude_ids="<?php echo $excludeIds; ?>"
                rows="3"
            /> 
        </fb:request-form> 
    </fb:fbml>
</script> 
</fb:serverfbml>

Nel footer della pagina, ho il codice standard Facebook Connect, che caricherà e rendere il fb: contenuti serverfbml:

<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
<script type="text/javascript">
    FB_RequireFeatures(
        ["CanvasUtil"],
        function(){
             FB.XdComm.Server.init('/xd_receiver.html');
             FB.CanvasClient.startTimerToSizeToContent();
        }
    );
</script>

<script type="text/javascript">
    FB_RequireFeatures(["XFBML"], function(){ FB.Facebook.init("Your Facebook API Key", "/xd_receiver.html"); });   
</script>

Questo dovrebbe essere tutto ciò che serve (compilare le proprie opzioni se del caso, ovviamente). Dovrete impostare Facebook Connect per lavorare con un file ricevente cross-domain. Suggerisco seguendo i rendering di passaggi XFBML .

Risposto il 04/05/2009 a 20:10
fonte dall'utente

voti
3

Dal momento che sono un sacco di domande sul amico selettore all'interno di un iframe.

Ragazzi la sintassi corretta è ora <fb:serverfbml width="650px">

Risposto il 29/07/2010 a 01:39
fonte dall'utente

voti
9

La domanda in questa discussione è ancora rilevante, ma la risposta non è aggiornato. Si dovrebbe usare il nuovo SDK javascript. Questo dovrebbe sostituire il secondo frammento di codice pubblicato da zombat

<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript">
   FB.init({appId: 'your app id',
       status: true,
       cookie: true,
       xfbml: true});
   FB.Event.subscribe('auth.sessionChange', function(response) {
     if (response.session) {
       // A user has logged in, and a new cookie has been saved
     } else {
       // The user has logged out
     }
   });
</script>

maggiori informazioni qui: http://www.clickonchris.com/2010/11/facebook-javascript-sdks/

Risposto il 09/11/2010 a 06:54
fonte dall'utente

voti
0

Uno dei principali e importante punto che viene perso è che molti di voi (me compreso) bastone in script un po 'ovunque ... ma il file load.js "FB" ha bisogno di essere caricato immediatamente dopo il tag body.

almeno questo è quello che ho trovato per far funzionare tutto e humm di conseguenza. Ho trovato un post su qualche altro sito (non ero sicuro se devo postare qui o no ...) ma è venuto dopo aver trascorso ore e ore, fare quanto sopra citato - così come segue ogni altro 1,2, 3 step pugno in ricevendo l'iframe a misura correttamente ...

e ora ho ottenuto al lavoro :)

Risposto il 31/01/2011 a 16:20
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more