只需在状态返回时添加这些代码块,然后开始传递查询字符串对象{}。对于JavaScript开发人员
初始化您的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 !');
}
}
这也有设置为变量的userid,然后调用getUserInfo函数以使用Graph-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);
输出?