Fügen Sie diesen Codeblock einfach bei der Statusrückgabe hinzu und übergeben Sie ein Abfragezeichenfolgenobjekt {}. Für JavaScript-Entwickler
Nach der Initialisierung Ihres SDK.
Schritt 1: // Anmeldestatus abrufen
$(document).ready(function($) {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
console.log(response);
});
});
Dadurch wird das Laden des Dokuments überprüft und Ihr Anmeldestatus überprüft, ob Benutzer angemeldet sind.
Dann wird die Funktion checkLoginState aufgerufen und die Antwort an statusChangeCallback übergeben
function checkLoginState() {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
}
Schritt 2: Lassen Sie Sie die Antwortdaten aus dem Status abrufen
function statusChangeCallback(response) {
// body...
if(response.status === 'connected'){
// setElements(true);
let userId = response.authResponse.userID;
// console.log(userId);
console.log('login');
getUserInfo(userId);
}else{
// setElements(false);
console.log('not logged in !');
}
}
Dies hat auch die Benutzer-ID , die auf Variable gesetzt wird. Dann wird eine getUserInfo-Funktion aufgerufen, um Benutzerinformationen mithilfe der Graph-API abzurufen.
function getUserInfo(userId) {
// body...
FB.api(
'/'+userId+'/?fields=id,name,email',
'GET',
{},
function(response) {
// Insert your code here
// console.log(response);
let email = response.email;
loginViaEmail(email);
}
);
}
Nachdem die Benutzer-ID als Argument übergeben wurde, ruft die Funktion alle Informationen ab, die sich auf diese Benutzer-ID beziehen . Hinweis: In meinem Fall habe ich nach der E-Mail gesucht, um eine Funktion ausführen zu können, mit der Benutzer nur per E-Mail angemeldet werden können.
// Login per E-Mail
function loginViaEmail(email) {
// body...
let token = '{{ csrf_token() }}';
let data = {
_token:token,
email:email
}
$.ajax({
url: '/login/via/email',
type: 'POST',
dataType: 'json',
data: data,
success: function(data){
console.log(data);
if(data.status == 'success'){
window.location.href = '/dashboard';
}
if(data.status == 'info'){
window.location.href = '/create-account';
}
},
error: function(data){
console.log('Error logging in via email !');
// alert('Fail to send login request !');
}
});
}
var_dump($obj);
aus?