我正在研究 angularjs 并使用 https://github.com/Ciul/angular-facebook 创建 Facebook 登录。模块。但现在我无法在登录后获取用户数据:
我的 Controller 是:
$scope.facebookLogin = function () {
var promise = authenticationServices.fbLogin();
promise.then(
function(data){
console.log(data);
},
function(error){
utilityServices.showToast('error', 'Unable to connect with facebook');
});
};
我的服务是:
this.fbLogin = function() {
$('.btn-disable').addClass('disabled');
Facebook.login(function(response) {
if(response.status === "connected") {
console.log(response.authResponse);
Facebook.api('/me', function(response) {
if(!response || response.error) {
deferred.reject('Error occured');
} else {
deferred.resolve(response);
}
}
);
} else {
$('.btn-disable').removeClass('disabled');
}
},{
auth_type: 'rerequest',
scope: 'user_likes, email, user_friends'
});
return deferred.promise;
};
现在我想获取在范围内设置的用户数据,但我只获取 id 和名称,如下图所示:应用程序访问以下权限,但数据不可用
最佳答案
您现在需要指定字段:
Facebook.api('/me?fields=email,name,id', ...
为了获得点赞,还有另一个端点:/me/likes
...或者您也可以将其添加到 fields 参数中:
Facebook.api('/me?fields=email,name,id,likes', ...
关于angularjs facebook-login 获取用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31490439/