เพียงเพิ่มบล็อกโค้ดเหล่านี้ในการส่งคืนสถานะและเริ่มส่งออบเจ็กต์สตริงการสืบค้น {} สำหรับ JavaScript devs
หลังจากเริ่มต้น sdk.
ขั้นตอนที่ 1: // รับสถานะการเข้าสู่ระบบ
$(document).ready(function($) {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
console.log(response);
});
});
การดำเนินการนี้จะตรวจสอบการโหลดเอกสารและรับสถานะการเข้าสู่ระบบของคุณว่าผู้ใช้เข้าสู่ระบบหรือไม่
จากนั้นฟังก์ชันcheckLoginStateจะถูกเรียกใช้และการตอบกลับจะถูกส่งไปยังstatusChangeCallback
function checkLoginState() {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
}
ขั้นตอนที่ 2: ให้คุณรับข้อมูลการตอบกลับจากสถานะ
function statusChangeCallback(response) {
if(response.status === 'connected'){
let userId = response.authResponse.userID;
console.log('login');
getUserInfo(userId);
}else{
console.log('not logged in !');
}
}
นอกจากนี้ยังมีหมายเลขผู้ใช้ซึ่งจะถูกตั้งค่าให้กับตัวแปรแล้วgetUserInfo func เรียกว่าสามารถดึงข้อมูลข้อมูลของผู้ใช้โดยใช้กราฟ API
function getUserInfo(userId) {
FB.api(
'/'+userId+'/?fields=id,name,email',
'GET',
{},
function(response) {
let email = response.email;
loginViaEmail(email);
}
);
}
หลังจากส่งuseridเป็นอาร์กิวเมนต์แล้วฟังก์ชันจะดึงข้อมูลทั้งหมดที่เกี่ยวข้องกับuseridนั้น หมายเหตุ: ในกรณีของฉันฉันกำลังมองหาอีเมลเนื่องจากอนุญาตให้ฉันเรียกใช้ฟังก์ชันที่สามารถล็อกอินผู้ใช้ผ่านอีเมลเท่านั้น
// เข้าสู่ระบบทางอีเมล
function loginViaEmail(email) {
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 !');
}
});
}
var_dump($obj);
เอาท์พุท?