Chỉ cần thêm khối mã này khi trả về trạng thái và bắt đầu chuyển đối tượng chuỗi truy vấn {}. Dành cho nhà phát triển JavaScript
Sau khi khởi tạo sdk của bạn.
bước 1: // lấy trạng thái đăng nhập
$(document).ready(function($) {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
console.log(response);
});
});
Thao tác này sẽ kiểm tra tải tài liệu và kiểm tra trạng thái đăng nhập của bạn nếu người dùng đã đăng nhập.
Sau đó, hàm checkLoginState được gọi và phản hồi được chuyển đến statusChangeCallback
function checkLoginState() {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
}
Bước 2: Cho phép bạn nhận dữ liệu phản hồi từ trạng thái
function statusChangeCallback(response) {
if(response.status === 'connected'){
let userId = response.authResponse.userID;
console.log('login');
getUserInfo(userId);
}else{
console.log('not logged in !');
}
}
Điều này cũng có userid đang được đặt thành biến, sau đó một hàm getUserInfo được gọi để tìm nạp thông tin người dùng bằng Graph-api.
function getUserInfo(userId) {
FB.api(
'/'+userId+'/?fields=id,name,email',
'GET',
{},
function(response) {
let email = response.email;
loginViaEmail(email);
}
);
}
Sau khi chuyển userid làm đối số, hàm sẽ tìm nạp tất cả thông tin liên quan đến userid đó . Lưu ý: trong trường hợp của tôi, tôi đang tìm kiếm email, vì để cho phép tôi chạy một chức năng chỉ có thể đăng nhập người dùng qua email.
// đăng nhập qua email
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);
ra?