我正在使用 Meteor 构建一个应用程序,并且需要访问已登录用户的存储电子邮件地址。
我目前正在使用:
var userObj = Meteor.user();
console.log(userObj);
访问用户。但是,我只能访问 id。电子邮件地址存储在一个嵌套对象中,如下所示:
[Object {address="address@gmail.com", verified=false}]
我尝试了各种方法来遍历 JSON 对象,但无法弄清楚如何访问我需要的值。
我正在使用 Meteor 构建一个应用程序,并且需要访问已登录用户的存储电子邮件地址。
我目前正在使用:
var userObj = Meteor.user();
console.log(userObj);
访问用户。但是,我只能访问 id。电子邮件地址存储在一个嵌套对象中,如下所示:
[Object {address="address@gmail.com", verified=false}]
我尝试了各种方法来遍历 JSON 对象,但无法弄清楚如何访问我需要的值。
Meteor.user().emails[0].address
为我工作。
这是文档所说的:
默认情况下,服务器会发布用户名、电子邮件和个人资料。有关用户文档中使用的字段的更多信息,请参阅 Meteor.users。
示例用户文档:
{
_id: "bbca5d6a-2156-41c4-89da-0329e8c99a4f", // Meteor.userId()
username: "cool_kid_13", // unique name
emails: [
// each email address can only belong to one user.
{ address: "cool@example.com", verified: true },
{ address: "another@different.com", verified: false }
],
createdAt: 1349761684042,
profile: {
// The profile is writable by the user by default.
name: "Joe Schmoe"
},
services: {
facebook: {
id: "709050", // facebook id
accessToken: "AAACCgdX7G2...AbV9AZDZD"
},
resume: {
loginTokens: [
{ token: "97e8c205-c7e4-47c9-9bea-8e2ccc0694cd",
when: 1349761684048 }
]
}
}
}
您没有指定如何对用户进行身份验证。例如,如果您仅使用 Google 身份验证,则电子邮件地址只能在
Meteor.user().services.google.email
所以,这取决于。
试试这个:
Meteor.user().emails[0].address
问候,