我需要在我的parse.com应用程序中获取用于商业目的的用户电子邮件。是否有可能在Facebook注册/登录过程中获取它?
例如,我有以下登录代码
var signupLoginFB = function() {
Parse.FacebookUtils.logIn("email", {
success: function(user) {
//do something on successful login
},
error: function(user, error) {
//do something on error
}
});
}
我看着"用户"对象传递给回调,我没有看到任何电子邮件。我应该调用其他一些FB或Parse API来获取这些数据吗?
答案 0 :(得分:4)
您希望按以下方式拨打FB.api()
:
var signupLoginFB = function() {
Parse.FacebookUtils.logIn("email", {
success: function(user) {
//do something on successful login
FB.api('/me', function(me) {
user.set("displayName", me.name);
user.set("email", me.email);
user.save();
console.log("/me response", me);
});
},
error: function(user, error) {
//do something on error
}
});
}
您将在控制台中看到返回的所有字段。请注意,他们会根据他们决定分享的内容而有所不同,例如我的Facebook个人资料并未公开我的电子邮件,因此不会在" / me&#34中返回;调用
如果是新用户,请考虑仅执行额外调用,即将该代码包装在if (!user.existed()) {...}
中。