Nel post precedente avevo inserito questo script:
window.fbAsyncInit = function() { /*inserire il proprio app id*/ FB.init({ appId: '1194********', status: true, cookie: true, xfbml: true});FB.Event.subscribe('auth.sessionChange', sessionChangeHandler); FB.Event.subscribe('auth.statusChange ', statusChangeHandler);checkUserStatus(); }; (function() { var e = document.createElement('script'); e.async = true; e.src = document.location.protocol + '//connect.facebook.net/it_IT/all.js'; document.getElementById('fb-root').appendChild(e); }());
Che permette di caricare e inizializzare l’SDK di Facebook. Da notare che questo è codice javascript e deve essere inserito nella pagina html, come consiglia Facebook direttamente dopo il tag <body>, all’interno dei tag <script></script>.
Questo particolare script permette il caricamento asincrono dell’sdk; quindi il caricamento dell’sdk non bloccherà il caricamento della pagina html.
Per completare il caricamento e il funzionamento dell’sdk di facebook rimane un ultimo “dettaglio” da inserire:
<div id="fb-root"></div>
subito prima lo script.
Ecco tutto il codice da inserire in pagina:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
/*inserire il proprio app id*/
FB.init({appId: '1194********', status: true, cookie: true,xfbml: true});
};
FB.Event.subscribe('auth.sessionChange', sessionChangeHandler);
FB.Event.subscribe('auth.statusChange ', statusChangeHandler);
checkUserStatus();
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
Queste 3 righe di codice:
FB.Event.subscribe('auth.sessionChange', sessionChangeHandler);
FB.Event.subscribe('auth.statusChange ', statusChangeHandler);
checkUserStatus();
ci permettono di monitorare se l’utente è connesso a Facebook, se ha dato i permessi necessari all’applicazionee se la sua sessione è valida.
In particolare checkUserStatus(); è una funzione che richiama delle informazioni relative allo status dell’utente:
FB.getLoginStatus(function(response) {
if (response.session) {
} else {
}
});
il parametro
response
deve contenere questi dati:
{
status: 'connected',
authResponse: {
access_token: '...',
expiresIn:'...',
signedRequest:'...',
userID:'...'
}
}
Quello più importante è
access_token
che ci permetterà di interrogare Facebook per recuperare dati relativi all’utente.
Nel prossimo post sulla SDK di Facebook scriverò di come implementare query a Facebook sia con le api che con fql.