我有下面的代码,想获取Facebook用户的电子邮件地址和其他详细信息。这是我完成的代码。
FB.login(function(response) {
if (response.authResponse) {
//updateUserInfo(fb_id);
console.log(response.authResponse);
updateUserInfo(response.authResponse.userID);
$.ajax({
dataType: "json",
url: 'http://graph.facebook.com/'+response.authResponse.userID+'/ fields=id,name,birthday,email,gender,hometown,location',
success: function(data){
fb_data = data;
console.log(data);
}});
},{scope:'email'});
我无法获得以下详细信息:
- 生日
- 电子邮件
- 位置
- 家乡
但是,我能够获得名字和ID。
如果我应该使用访问令牌,我应该如何将其放入查询中?电子邮件地址是重要信息,因为我的系统通过电子邮件地址识别用户。
您需要用户的以下许可才能从Facebook获取数据。
- 生日user_birthday
- 电子邮件
- 位置user_location
- 故乡user_hometown
您可以检查此或此内容以获取其他权限和用途。
然后,一旦用户单击您的登录按钮并授权您的应用程序,您将获得访问令牌。
您不必在FB.login之后使用ajax调用,您可以使用FB.api
doc,这将确保您在登录时获得的访问令牌(需要电子邮件访问)将用于访问数据