Ich benutze Auth0 in meiner App angular2 und sobald der Benutzer sich anmeldet der Auth0-Dienst sendet eine Antwort, die das Benutzerprofil Informationen enthält.Erstellen von JSON-Post in Angular 2
Die Antwort kann je nach Anmeldemethode, die der Benutzer auswählt, unterschiedlich aussehen. Ich möchte nur die E-Mail-Adresse in der Antwort abspalten.
Dies ist eine typische Reaktion,
Object
clientID
:
"skdjcbjlwrjlw"
created_at
:
"2016-10-15T06:03:44.636Z"
email
:
"[email protected]"
email_verified
:
true
family_name
:
"Walker"
gender
:
"male"
given_name
:
"Paul"
global_client_id
:
"ojwebcvjoweojewhc"
identities
:
Array[1]
locale
:
"en"
name
:
"Paul Walker"
nickname
:
"nick"
picture
:
"https://lh4.googleusercontent.com/photo.jpg"
updated_at
:
"2016-11-21T22:29:33.158Z"
user_id
:
"google-oauth2|102515181977826170152"
__proto__
:
Object
Nun, wenn ich diese Antwort erhalte ich die E-Mail-Adresse wie folgt abspalten,
ich eine Klasse erstellt die E-Mail-Adresse zu halten,
export class User { constructor( public email: string, ) { } }
I instanziiert t er widerspricht,
user: Object;
Ich bewege die E-Mail aus dem Profil Objekt in die
user
this.user = profile.email;
Das Problem an dieser Stelle muß ich die E-Mail im JSON-Format sein. Also ich benutze,
var email = JSON.stringify(this.user);
Aber wenn ich console.log(email);
ich [email protected] statt json.
Deshalb an dieser Stelle,
console.log(profile); // outputs json of whole profile
this.user = profile.email;
console.log(this.user); // outputs just the email address
var email = JSON.stringify(this.user);
console.log(email); // expects json gets [email protected]
Ich brauche die email
tatsächlichen json zu sein. Benutze ich nicht JSON.stringify(this.user);
richtig?
2. wird nichts instanziiert. Es deklariert eine Variable vom Typ Objekt. 3 weist profile.email, das wahrscheinlich ein String ist, diese Variable zu. Wenn der Benutzer ein Benutzer sein soll, sollte sein Typ Benutzer sein, nicht Objekt. Und Sie sollten dieser Variablen keinen String zuweisen. Um eine Instanz von User zu erstellen, lautet die Syntax "new User (theEmail)". https://www.typescriptlang.org/docs/handbook/classes.html –
Danke Mann. Funktioniert sofort. Ich fühle mich jetzt schuldig, weil ich gefragt habe. Vielen Dank. – wuno