2013-06-08 4 views
9

Ich habe durch die einzelnen Schritte gegangen Google+ hinzufügen Log-in Anwendung auf meinem Netz wie in https://developers.google.com/+/web/signin/Google+ in von Javascript-Zeichen - ungültiger Parameterwert für Ursprung

gefunden Wenn er in einer ‚typischen‘ Website verwendet , der clientseitige Ablauf funktioniert einwandfrei. Jetzt versuche ich dieses Google+ Zeichen in PhoneGap zu integrieren. Da PhoneGap die Webseite als Datei: // URL ausführt, lautet der Ursprung, der in der Anfrage gesendet wird, file: //. In jedem anderen PhoneGap, das ich geschrieben habe, war das kein Problem.

Allerdings, wenn ich die Google+ Zeichen in Schaltfläche von meiner Seite in PhoneGap klicken, wird der Ursprung als Datei gesendet: // die folgende Fehlermeldung verursacht:

Fehler: invalid_request
Falscher Parameterwert für Herkunft: Fehlende Autorität: Datei: //

Ich ging zur Google API-Konsole und versuchte, Datei: // als autorisierten Javascript-Ursprung zuzuweisen. Aber natürlich kann file: // nicht als Ursprung eingegeben werden.

Ich frage mich also, ob irgendjemand Einblick in diese Art von Web-Stil (Javascript) Google+ Anmeldung innerhalb von PhoneGap (oder von einer lokalen Webseite, wo es keinen Server - nur eine Seite sein wird) Als Datei ausführen: //). Ich möchte wirklich nicht die Anmeldung in nativem Code machen und dann das Token wieder in den 'PhoneGap'-Bereich integrieren, da dies den Zweck, die App einmal für mehrere Plattformen zu schreiben, vereitelt.

+0

Keine vollständige Überschneidung, also möchte ich diese Frage nicht schließen, aber ... diese Frage ist verwandt und ich stelle einen Link, damit andere, die das finden, es sehen werden. (Meine Suche, bevor ich die ursprüngliche Frage gepostet habe, fand diese nicht.) http://stackoverflow.com/questions/16109762/google-signin-button-with-phonegap –

+0

hast du mit diesem Problem überall hinkommen? Ich möchte dasselbe machen, aber bisher sieht es wie eine Sackgasse aus, was wirklich eine Schande ist. – user1255162

Antwort

0

Für file: //, das Ding funktioniert anders .. versuchen, dies als Ihre Herkunft: http://localhost:4567 oder versuchen, dieses Tutorial: here

2

Mein Verständnis ist, dass Sie nicht den Standard-Client-seitige Fluss mit Cordova verwenden/PhoneGap, weil file:// kein gültiger Ursprung ist.

Sie können jedoch die In-App Browser plugin zusammen mit window.open verwenden, die es ermöglichen wird, einen "standardmäßigen" clientseitigen Fluss aus der Anwendung heraus zu initiieren. Sie hören dann Ereignisse im geöffneten Fenster, um mit den Antworten umzugehen.

Das Plugin funktioniert plattformübergreifend, so dass Sie nicht mehrere native Implementierungen verwalten müssen.

Die Bibliothek ng-cordova-oauth implementiert dies für AngularJS.

Weitere Einzelheiten über die Implementierung finden Sie unter this tutorial für Details sowie die Google OAuth documentation.

+0

funktioniert es, +1 –

Verwandte Themen