2016-07-20 57 views
3

Google empfiehlt, anzugeben, aus welchen Domänen der Browserschlüssel verwendet werden darf.Google API KEY Referral Wildcard für die Entwicklung von localhost

enter image description here

Während dies auf jeden Fall ein großartiges Feature ist, würde ich für den Schlüssel gerne weiter zu arbeiten, während ich die Website auf localhost entwickeln.

Ich denke, ein sicherer Weg ist, in der Entwicklungsumgebung überhaupt keinen API_KEY anzugeben (google maps funktionieren lokal ohne ihn).

Noch ist dies nicht immer bequem.

Ich möchte genau herausfinden, wie der Platzhalter für den Schlüssel lokal korrekt angegeben wird.
Ich habe dies vorher erreicht, indem ich eine ganze Reihe von Wildcards in der Hoffnung definiert habe, dass einer von ihnen funktionieren würde. Und, na ja, einige von ihnen taten, weil es schließlich funktionierte.

Da Google sagt, dass es etwa 5 Minuten dauert, bis die Überweisungsänderungen in Kraft treten, hatte ich nie die Geduld, herauszufinden, welche Karte genau das getan hat.
Und Google bietet keine Visuals, welche Karte mit welchen Domains übereinstimmen würde.

Here jemand sagt, dass API_KEY standardmäßig für localhost/ arbeitet. Aber natürlich habe ich meinen lokalen Server an einem anderen Port als :80. In diesem Fall schlägt diese Person vor, die Wildcard mit dem port wie folgt zu spezifizieren: http://localhost:1234.

Dies ist sehr unerwünscht. Wenn ich den Port ändere, den ich arbeite, werde ich mich sicher nicht daran erinnern, dass sich einige API_KEY darauf verlassen.

Also ... Was ist die korrekte Methode, einen Verweis für localhost für einen beliebigen Port anzugeben?

localhost:*?
localhost:*/*?
*localhost:*?
http://localhost:*?
localhost\:*?

... Kennt jemand ?


Eine andere Sache, die für einige offensichtlich sein könnte, aber ... Ich bin mir nicht sicher. Akzeptiert ein Platzhalter *.example.com/* die URL des Typs http://example.com/some/long/path/?

+0

Es gibt keinen Punkt zu dieser Frage hinzufügen 'Regex' Tag, es ist geschrieben - ** Wildcards **. Sie sind keine Regex. –

+0

Ich hatte einen Gedanken, dass der Doppelpunkt ':' möglicherweise entgangen werden muss. Sind wir sicher, dass Google einen regulären Ausdruck nicht interpretiert, wenn er eingegeben wird? – timetowonder

+0

Haben Sie das gelöst? – noogui

Antwort

7

Es gibt keinen Platzhalter für den Port, also verwenden Sie ihn nicht. Lassen Sie einfach keinen Verweis auf Port und Sie sollten in Ordnung sein.

Ich benutze eine Cordova Meteor App, die einen Webserver (für lokalen Speicher) einbindet, der auf localhost mit einem zufälligen Port läuft, der zur Laufzeit von Meteor zugewiesen wird. Es gibt keine Möglichkeit zu wissen, welchen Port Cordova aufnehmen wird und auf jeder Instanz (Gerät, auf dem die App läuft) kann es sich um einen anderen handeln.

Ich habe viele Varianten wie localhost:* oder localhost:*/* vergeblich versucht.

Schließlich versuchte ich eine einfache localhost und es funktionierte. Jetzt funktionieren alle meine Anfragen an http://localhost:<SOME_RANDOM_PORT>/<SOME_RANDOM_PATH>.

Also, gehen Sie zu Google API Manager - Anmeldeinformationen - API-Schlüssel - in "Akzeptieren Sie Anfragen von diesen HTTP-Referrer (Websites)" geben Sie localhost und drücken Sie auf Speichern.

Nur eine Anmerkung. Diese Lösung listet alle Anfragen auf localhost auf jedem Pfad auf. Sie können nichts nach dem localhost Eintrag hinzufügen, da dies die Regel zu bremsen scheint.

+0

endlich ... vielen Dank!) – timetowonder

0

Google API KEY Verweiser Wildcard für localhost Entwicklung .. kennt jemand?

Dies ist einfach. Sie müssen den URL-Ursprung in GDC registrieren, damit Sie ihn lokal entwickeln können. Stellen Sie sicher, dass Sie auch die Portnummer angeben.Das sieht aus wie

http://localhost:8080 

Angenommen, Sie haben Python auf Ihrem Computer installiert, auf Terminal gehen und dem Server starten, indem Sie Folgendes eingeben:

//Assuming you're using http://localhost:8080 as URL origin 
python -m SimpleHTTPServer 8080 

Wenn der Server ausgeführt wird, können Sie diese nun verwenden, um führen Sie Ihre Karten lokal wie:

//assuming file is in Desktop. 
http://localhost:8080/SimpleMap.html 

Dort gehen Sie.

+1

Gut, danke! Aber die Frage war speziell, einen Weg zu finden, * nicht * von einer bestimmten Portnummer abhängig zu sein. Ich betreibe derzeit meinen Entwicklungsserver auf dem Port '8000', aber das könnte ich in Zukunft ändern. Ich möchte den Platzhalter einer API nicht ändern müssen. Ich wünschte, dass der Platzhalter eine beliebige Portnummer zulassen könnte. – timetowonder

+0

Ich weiß nicht, ob das gewünschte Feature existiert. Viel Glück – noogui

+0

Das Ändern von Ports ist einfach, Sie müssen es nur neu konfigurieren. Obwohl Sie es jedes Mal manuell tun müssen, dauert der Prozess nicht einmal eine Minute. – noogui