Meteorを使用してアプリを作成していますが、ログインしているユーザーの保存されているメールアドレスにアクセスする必要があります。
私は現在使用しています:
var userObj = Meteor.user();
console.log(userObj);
ユーザーにアクセスします。ただし、IDにしかアクセスできません。電子メールアドレスは、次のようなネストされたオブジェクトに保存されます。
[Object {address="[email protected]", 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: "[email protected]", verified: true },
{ address: "[email protected]", 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
よろしく、