2016-04-27 4 views
4

Ich versuche, eine Google Signin-Schaltfläche in ein Angular.js 2.0 (typescript) SPA aufzunehmen, aber ich weiß nicht, wie Google Callback so implementiert werden soll, dass etwas in meiner Angular-Komponente ausgelöst wird.wie google signin button in angular.js 2.0 typoskript app zu verwenden?

(oder alternativ, ich frage mich, ob der richtige Weg, um eine Richtlinie zu schreiben, aber dann, wie ich den Rückruf verdrahte von dort?)

Edit: Hinzufügen von Quellcode

ngAfterViewInit() { 
    gapi.signin2.render(
     "google-login-button", 
     { 
     "onSuccess": (user) => console.log(user), 
     "scope": "profile", 
     "theme": "dark", 
     "onfailure": function(err){console.log("error:"+err);} 
     }); 
    console.log("afterview: gapi started"); //this is printed 
    } 

Die Initialisierung scheint OK zu sein. Ich sehe die console.log und die Schaltfläche. Ich kann mich in einem Popup-Fenster anmelden, aber nach dem Schließen dieses Fensters passiert nichts. Nichts ist in der Konsole gedruckt, entweder die Erfolgs- oder Onfailure-Nachrichten

+1

Weitere Beispiele für den Code, den Sie hinzufügen möchten (die Google-Schaltfläche), die Komponente, mit der Sie arbeiten, und was Sie ausprobiert haben, erhöhen die Wahrscheinlichkeit, dass jemand diese Frage für Sie beantwortet. –

+0

hi @ sean-larkin, ich habe meine Frage bearbeitet, um den Quellcode einzubinden. Danke. – cesarpachon

Antwort

5

Ich entdeckte schließlich das Problem .. wie ich mit angular 2.0 arbeite, ich bin der Lite-Server läuft standardmäßig in Port 3000 ausgeführt. Wenn Sie Verwenden Sie einen anderen Port als 80, müssen Sie den Pfad in der Google-Konfiguration hinzufügen (localhost: 3000). Es würde helfen, wenn Google API eine Art Fehler zurückgab, um das Problem zu diagnostizieren (wie wäre es mit einem http 403 Fehlercode?) Ich verbringe zwei Tage damit, dies herauszufinden, also hoffen wir, dass es anderen hilft, etwas Zeit zu sparen!

+0

Vielen Dank Mate !!! Das war's !!! Ich blieb für ein paar letzte Stunden stecken –

+0

erstaunlich. Auch stundenlang festgefahren. Vielen Dank! – whtevn

Verwandte Themen