Token di accesso da API JavaScript
-
26-10-2019 - |
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)
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