使用Facebook Firebase简单登录获取电子邮件
Get email with Facebook Firebase Simple Login
我正在使用带有Firebase简单登录的Facebook。我正在尝试获取此人的真实姓名,我已经通过FirebaseSimpleLogin实例中的user.displayName
成功地完成了这一操作。当我尝试用user.email
获取他们的电子邮件时,它会返回undefined
。我对Google+也做了同样的事情,它运行得很好,没有未定义的返回。这是我的代码:
var chatRef = new Firebase('https://******.firebaseio.com');
//No, i didn't actually put this firebase name in my code =P
var auth = new FirebaseSimpleLogin(chatRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
alert('An error occurred while trying to log you in.' + error);
} else if (user) {
// user authenticated with Firebase
console.log('Name: ' + user.displayName + ', email: ' + user.email);
//With google, 'Name: John Doe, email: johndoe@example.com' is returned
//With facebook, 'Name: John Doe, email: undefined' is returned
} else {
// user is logged out
}
});
function google() {
auth.login('google', {
rememberMe: true
});
}
function facebook() {
auth.login('facebook', {
rememberMe: true,
scope: 'email'
});
}
所以,我的问题是,如何通过Facebook Firebase简单登录获取用户的电子邮件地址?提前感谢大家。
在开始之前,查看用户对象上已经存在哪些属性的最佳方法是向现有的身份验证检查中添加控制台日志。
使用:
else if (user){
console.log(user);
}
您将知道当前设置的用户对象上存在哪些属性。可能需要其他权限-请参阅下文。
根据facebook开发文档,权限是与登录请求或API调用一起传递的字符串。以下是两个权限示例:
- 电子邮件:访问个人的主要电子邮件地址
- user_likes:访问一个人喜欢的东西列表
例如,如果您将登录按钮添加到web应用程序中,并通过scope参数请求电子邮件和user_likes,则第一次登录时会提示用户使用此对话框:
和每个firebase文档
这里有一个例子,会话将被存储30天(由于"记住我"设置(,我们还请求对电子邮件和user_likes的一些扩展权限:
auth.login('facebook', {
rememberMe: true,
scope: 'email,user_likes'
});
因此,除非您在auth.login参数中添加了额外的权限,否则您将无法访问用户的主电子邮件地址。
相关文章:
- 获取电子邮件附件的表单元素
- 如何使用LinkedIn Javascript API获取电子邮件地址字段
- 使用 LinkedIn API JavaScript SDK 获取电子邮件地址
- 如何获取电子邮件页面并向其提交表单数据
- 从数据库中获取电子邮件值并发送(PHP电子邮件)/刷新页面,而无需更改网站链接
- 如何使用正则表达式从此字符串获取电子邮件
- 无法使用PHP和Angular.js在电子邮件收件箱中获取电子邮件
- 如何解析 DOM 以获取电子邮件 Javascript
- 从字符串中获取电子邮件
- 如何获取电子邮件地址的Google+个人资料图片
- 通过Facebook Javascript SDK获取电子邮件
- Windows live api获取电子邮件联系人与电子邮件哈希
- Chrome扩展从页面获取电子邮件
- 如何在Outlook应用程序中获取电子邮件标题
- Javascript:获取电子邮件地址'@和点之间的文本
- 如何使用ajax从IMAP服务器获取电子邮件
- 我如何从mac的邮件应用程序中获取电子邮件[文件]?
- 我在试着做FB.登录只获取电子邮件,姓名和位置-但Facebook API总是要求用户提供“朋友列表”;访问权限
- 使用javascript从给定字符串获取电子邮件id
- 使用Facebook Firebase简单登录获取电子邮件