Problema visualizzazione XFBML con pyfacebook
-
29-09-2019 - |
Domanda
Sto usando pyfacebook sulla mia app, ma sto avendo problemi di visualizzazione XFBML Per esempio devo usare iframe da visualizzare come i pulsanti o come scatole.
Cosa c'è di strano: 1) Nella pagina di accesso le viene visualizzato correttamente, ho appena hanno problemi in altre pagine (una volta loggato)
2) L'uso FB.init parte I è
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script>
<script type="text/javascript">FB.init("{{ apikey }}", '/static/xd_receiver.html');
considerando che la documentazione facebook gli argomenti sono:
FB.init({
appId : 'YOUR APP ID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
3) Quando cambio il FB.init alla fb quello ufficiale, l'applicazione non funziona più. (Ad esempio, non può utilizzare questa disconnessione
<a href="#" onclick="javascript:FB.Connect.logoutAndRedirect('/')">Logout</a>
Sono relativamente nuovo a FB cose, quindi sono probabilmente mescolare le cose, ma voglio solo visualizzare corretta FBML sulla mia app senza modificare troppo il lato server.
Soluzione
Penso che si sta confondendo di Facebook vecchia API JavaScript con il loro nuova API JavaScript .
Come accennato nella nuova pagina API, utilizzare questo per fare l'init:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true,
xfbml: true});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
Per il logout, si vorrebbe qualcosa di simile:
<a href="#" onclick="javascript:FB.logout(function(response) {window.location.href = '/';})">Logout</a>