Domanda

Sono abbastanza nuovo su Facebook e sto cercando di mostrare una semplice finestra di dialogo che scriverà al muro ... ma senza fortuna ... :-(

Ho provato questo:

<!DOCTYPE HTML>
<html xmlns:fb="https://www.facebook.com/2008/fbml">
    <body>
        <script src="http://connect.facebook.net/da_DK/all.js"></script>
        <div id="fb-root"></div>
        <script>
            FB.init({appId: '172225549532081', xfbml: true, cookie: true});

            FB.getLoginStatus(function(response) {

                  if (response.authResponse && response.status=="connected") {
                    console.log("loged in");
                  } else {
                    console.log("not logged in");
                  }
            });
            FB.ui({
                display: 'iframe',
                method: 'feed',
                name: 'Facebook Dialogs',
                link: 'http://developers.facebook.com/docs/reference/dialogs/',
                picture: 'http://fbrell.com/f8.jpg',
                caption: 'Reference Documentation',
                description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'

            });
        </script>
    </body>
</html>

Ma registra sempre "non connesso", anche se ho effettuato l'accesso a Facebook e la finestra di dialogo mi dà questo errore:

API Error Code: 102
API Error Description: Session key invalid or no longer valid
Error Message: Iframe dialogs must be called with a session key

Ho cercato dappertutto, ma non riesco a vedere come ottenere il access token ovunque.

Che cosa sto facendo di sbagliato?

Grazie in anticipo...

È stato utile?

Soluzione

Prova questo:

 FB.login(function(response) {
   if (response.authResponse) {
     console.log('Logged in');
   } else {
     console.log('Not logged in');
   }
 });

Solo perché l'utente è effettuato l'accesso su Facebook.com, non viene effettuato automaticamente il tuo sito. Devono autenticarsi sul tuo dominio, prima con la tua app. Dovrai chiamare la funzione di accesso dopo aver fatto clic su qualcosa, poiché causerà un pop -up.

Altri suggerimenti

Il tuo utente è connesso alla tua app?
Se l'utente non è connesso alla tua app, puoi chiedere all'utente di accedere all'app avendo un pulsante di accesso (http://developers.facebook.com/docs/reference/plugins/login/)

Il codice seguente controllerà lo stato dell'utente e mostrerà un pulsante di accesso, se necessario.
Non dimenticare di impostare l'attributo perms per avere un permesso adeguato, come ad esempio

FB.getLoginStatus(function(response) {
  if (response.authResponse) {
    // logged in and connected user, someone you know
  } else {
    // no user session available, someone you dont know
    $('<fb:login-button></fb:login-button>').appendTo('body')
  }
});
FB.ui({
    display: 'iframe',
    method: 'feed',
    name: 'Facebook Dialogs',
    link: 'http://developers.facebook.com/docs/reference/dialogs/',
    picture: 'http://fbrell.com/f8.jpg',
    caption: 'Reference Documentation',
    description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
    access_token: FB.getAuthResponse().accessToken     // **This should work and tested** also!!!
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top