Domanda

Sto lavorando su un piccolo gioco, in cui l'utente può giocare una volta ogni giorno. Io tenere traccia di questo attraverso il Facebook ID.

Tutto il backend è fatto, e il gioco funziona quando inserisco manualmente il mio Facebook ID e access token .... Ma come faccio ad avere il access token dalle API di Facebook?

Ho provato questo:

FB.init({ 
            appId: 'my app id', 
            channelURL : '//my domain/channel.html', // Channel File
            cookie: true, 
            xfbml: true, 
            status: true 
        });

        FB.getLoginStatus(function (response) {
            if (response.session) {
                alert(response.session.access_token);
            } else {
                alert("not logged in");
            }
        });

Ma è sempre allertato "Non sei loggato", anche se sono connesso in Facebook.

(Il mio dominio e ID applicazione è nascosto a causa della privacy del mio cliente)

È stato utile?

Soluzione

Si dovrebbe sicuramente Migrazione a OAuth2 , (se non si dispone di - dovresti), allora si può provare in questo modo:

FB.getLoginStatus(function(response) {
    if (response.authResponse && response.status=="connected") {
        uid = response.authResponse.userID;
        token = response.authResponse.accessToken;
        // user is logged in
    }
}); 

Per la SDK javascript tutto quello che dovete fare per migrare a OAuth2 è aggiungere un ulteriore parametro per l'inizializzazione:
oauth : true

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top