Подтвердить что ты не робот

Получить адрес электронной почты пользователя в приложении Meteor JS

Я создаю приложение, использующее Meteor, и вам нужно получить доступ к сохраненному адресу электронной почты зарегистрированного пользователя.

В настоящее время я использую:

var userObj = Meteor.user();
console.log(userObj);

для доступа к пользователю. Однако я могу получить доступ только к id. Адрес электронной почты хранится в вложенном объекте, который выглядит следующим образом:

[Object {address="[email protected]", verified=false}]

Я пробовал различные способы прохождения объекта JSON, но не могу понять, как получить доступ к требуемому мне значению.

4b9b3361

Ответ 1

Meteor.user().emails[0].address работает для меня.

Вот что говорит doc:

По умолчанию сервер публикует имя пользователя, адрес электронной почты и профиль. Видеть 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 }
      ]
    }
  }
}

Ответ 2

Вы не указываете, как вы аутентифицируете пользователей. Например, если вы использовали только проверку подлинности Google, адрес электронной почты будет найден только в

Meteor.user().services.google.email

Итак, это зависит.

Ответ 3

Попробуйте следующее:

Meteor.user(). Электронная почта [0].Address

Привет,