2012-12-22 21 views
17

Sto costruendo un'app utilizzando Meteor e ho bisogno di accedere all'indirizzo di posta elettronica memorizzato di un utente che ha effettuato l'accesso.Accesso all'e-mail utente nell'app Meteor JS

Attualmente sto usando:

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

per accedere l'utente. Tuttavia, sono solo in grado di accedere all'ID. L'indirizzo email viene memorizzato in un oggetto nidificato che assomiglia a questo:

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

Ho provato vari modi per attraversare l'oggetto JSON, ma non riesco a capire come accedere il valore che ho bisogno.

+1

'userobj [0] .address', forse? Non sono sicuro, ignorando JSON è sciocco> :( – Ryan

+0

haha ​​non funziona anche se ... restituisce un numero indefinito – squeezemylime

risposta

34

Meteor.user().emails[0].address funziona per me.

Ecco cosa dice il dottore:

Per impostazione predefinita il server pubblica nome utente, e-mail, e il profilo. Vedi Meteor.users per ulteriori informazioni sui campi utilizzati nei documenti dell'utente.

Esempio documento utente:

{ 
    _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 } 
     ] 
    } 
    } 
} 
5

Non si specifica come si esegue l'autenticazione degli utenti. Ad esempio, se si utilizzava solo l'autenticazione di Google, l'indirizzo di posta elettronica si trova solo in

Meteor.user().services.google.email 

Quindi, dipende.

+0

Se la sua console ha l'oggetto che ha pubblicato nell'OP, quindi sta usando account-password o qualcosa di simile, non ha proprio 'ho capito come accedere correttamente alle proprietà. – Rahul

3

Prova questo:.

Meteor.user() messaggi di posta elettronica [0] .Address

saluti,

Problemi correlati