• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Google+ API email output

Der Horst

Mitglied
Servus euch allen,
ich versuche gerade die Funktion "Mit Google anmelden" in meine Website einzubinden. Das klappt relativ gut, weil Google alles gut erklärt. Jedoch stoße ich auf ein großes Problem ich möchte die E-Mail des Benutzers abrufen, der sich anmeldet. Google hat dafür ein Beispiel und benutzt dafür zwei Funktionen:
Code:
 function getEmail(){
            // Laden der oauth2-Bibliotheken, um die userinfo-Methoden zu akitvieren.
            gapi.client.load('oauth2', 'v2', function() {
                var request = gapi.client.oauth2.userinfo.get();
                (request.execute(getEmailCallback));

            });


        }

        function getEmailCallback(obj){
            var email = '';

            if (obj['email']) {
                email = 'Email: ' + obj['email'];
            }

           console.log(email);   // Kommentar entfernen, um das vollständige Objekt zu inspizieren.


        }

Alles läuft wie geschmiert die Variable email wird in der Console angezeigt.
Ich bekomme aber nicht den Wert email aus der Funktion getEmailCallback. Optimal wäre wenn ich den wert mit einem Return bekommen kann und dann folgendes schreiben können:
Code:
var email=getEmail()

Jedoch verstehe ich ebenfall nicht wie das Commando execute funktioniert und verstehe die Funktion nicht richtig.

Fals ihr eine andere Lösung habt, würde ich mich auch freuen. Ich danke schon Mal im Voraus für eure Hilfe.

MfG

Horst
 
Werbung:
Was request.execute genau tut kann man vermutlich nur wissen wenn man sich die Funktion anguckt. Versuch einfach mal in der Funktion getEmailCallback aus dem console.log ein return zu machen. Wenn das nicht funktioniert weil das durch die execute-Funktion nicht durchgeschleift wird, dann lege außherhalb der Funktionen eine Variable an und weise in getEmailCallback dieser die Emailadresse zu. Ist keine sehr saubere oder schöne Variante, aber sollte funktionieren.
 
Werbung:
Zurück
Oben