Localhost için Googlemaps API Anahtarı


91

Googlemaps api anahtarını localhost üzerinde çalışmak için nasıl edinebilirim?

Bir API anahtarı oluşturdum ve referers altında aşağıdakileri ekliyorum:

Accept requests from these HTTP referrers (websites) (Optional)

Use asterisks for wildcards. If you leave this blank, requests will be 
accepted from any referrer. Be sure to add referrers before using this key 
in production. 

localhost

Bu çalışmıyor ve api anahtarını hariç tutarsam da çalışmıyor mu?


Yanıtlar:


130
  1. Bu adrese gidin: https://console.developers.google.com/apis
  2. Projeniz için bir API anahtarı oluşturun
  3. "Kitaplık" ı tıklayın
  4. İstediğiniz herhangi bir API'ye tıklayın
  5. "Etkinleştir" i tıklayın (sağ üst)
  6. "Kimlik Bilgileri"> "Anahtarı Düzenle" yi tıklayın
  7. "Anahtar Kısıtlaması" altında, "HTTP yönlendirenler (web siteleri)" seçeneğini seçin
  8. Metin alanına web sitesi adresinizi (veya yerel testler için "localhost", "127.0.0.1", "localhost: port" vb.) Yazın ENTERve listeye eklemek için tuşuna basın
  9. Anahtarınızı projenizde kullanın

8
Ben de bunu yaptım, ama merak ediyorum: bu, yerel olarak çalışan HERHANGİ BİRİNİN (localhost / 127.0.0.1) API KEY'imi kullanabileceği anlamına mı geliyor (ve muhtemelen 2018-06-11'deki yeni fiyatlandırma gerçekleştikten sonra benim için maliyetler çıkarıyor mu?) ?)
tmanolatos

31
@tmanolatos Evet, anlamı bu. Yerel olarak çalışırken herkes anahtarınızı kullanabileceğinden, üretim anahtarı localhost haklarınızı vermek iyi bir uygulama değildir. Bunun yerine iki anahtarı korumalısınız. Herkes tarafından görülebilen üretim için bir tane ve bu nedenle yalnızca alanınızda izin verilmelidir. Kimlik bilgileri olarak değerlendirilmesi gereken (paylaşmayın) ve localhost'tan erişime izin veren geliştirme için bir tane.
the_cheff

2
@tmanolatos Evet, ancak biri uygulamayı test etmek ve diğeri ana uygulama için olmak üzere iki anahtar oluşturmalısınız
mirzaei.sajad

Bu yanıtı yukarıdaki adımları izledikten sonra alıyorum: {"error_message": "Yönlendirme kısıtlamalarına sahip API anahtarları bu API ile kullanılamaz.", "Sonuçlar": [], "status": "REQUEST_DENIED"} URL burada , DEV_KEY, api anahtarımla değiştirilir: maps.googleapis.com/maps/api/geocode/…
rmutalik

PROD_KEY api anahtarımı kullandığımda doğru JSON döndürüyor.
rmutalik

10

Bu yolu takip edebilirsiniz. En azından benim için çalışıyor:

Kimlik Bilgileri sayfasında:

  1. IP adresli seçeneği seçin (seçenek no. 3).

  2. IP adresinizi sağlayıcınızdan girin. Bunu yapmazsanız, bu bağlantıyı kullanarak IP adresinizi arayın: https://www.google.com/search?q=my+ip

  3. Kaydet.

  4. Google harita bağlantınızı komut dosyası etiketi arasında aşağıdaki gibi değiştirin:

    https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzxxxxxxxx "

  5. API anahtarınızın yayılmasına izin vermek için yaklaşık 5 dakika veya daha fazla bekleyin.

Artık google haritanız çalışmalıdır.


9

Localhost üzerinde çalışıyorsanız, geliştirmeniz için ayrı bir API anahtarı oluşturun ve ardından localhost'unuzun kullanabilmesi için bu anahtardaki kısıtlamaları kaldırın. Bu anahtarı üretimde kullanmamayı unutmayın, böylece anahtarınızı çevrimiçi avcılara ifşa etmeyin.

Aynı sorunu yaşadım ve özellikle geliştirme için ayrı bir apikey oluşturup ardından kısıtlamalarını kaldırana kadar localhost ortamımda kısıtlamaları çalıştırmaya yönelik tüm girişimler başarısız oldu. Ancak bu anahtarı üretim ortamında kullanmıyorum ve geliştirmeleri bitirdikten sonra API anahtarını hemen sileceğim.

Bu gönderinin geç olduğunu biliyorum, ancak gelecekte bu sorunla karşılaşması muhtemel insanlar için gidilecek en iyi yol bu.


5

Sanırım partiye biraz geç kaldım ve geliştirme (localhost) ve ürün için ayrı bir anahtar oluşturmanın her ikisini de sadece 1 anahtarda yapmanın mümkün olduğunu kabul etmeme rağmen.

Uygulama kısıtlamaları -> http yönlendirenler -> Web sitesi kısıtlamaları kullandığınızda, joker karakter URL'leri girebilirsiniz.

Ancak .localhost / gibi bir joker karakter kullanarak veya .localhost: {bağlantı noktası}. (zaten sahipken .website.com / * ) çalışmıyor gibi görünüyor.

Sadece tek bir * koymak işe yarıyor, ancak bu temelde size sınırsız bir anahtar veriyor ki bu sizin de istediğiniz gibi değil.

Joker karakteri * kullanmadan tam yolu dahil ettiğinizde, bu da işe yarıyor, bu yüzden benim durumumda şunu koymak:

http: // localhost {bağlantı noktası} /
http: // localhost : {bağlantı noktası} / başka bir şey / burada

Google haritalarının aynı API anahtarını kullanarak hem www.yourwebsite.com'da olduğu gibi yerel çalışmasını sağlar.

Zaten 2 ayrı tuşa sahip olunca da bunu yapmanızı tavsiye ederim.


1

Localhost'ta test yapmak için Google Haritalar'ın nasıl kullanılacağıyla ilgili bu eğiticiyi takip edebilirsiniz .

Bu ilgili SO konularına bakın:

Bu yardımcı olur umarım!


2
kopuk bağlantı koptu
Rafael Herscovici


@AEGrey - benim için değil, gelecekteki kullanıcılar için.
Rafael Herscovici

1

Javascript konsolundaki belirli hatayı kontrol etmeniz gerekir (örn . Windows için Firefox'ta Ctrl+ Shift+ K).

Göre Steven Gliebe (2016) , bu sorun için dört yaygın durumlar vardır. Özetlemek gerekirse, şöyle:

  1. MissingKeyMapError >> Google Haritalar API Anahtarını edinin (ancak alternatif no.2'yi de düşünün)
  2. RefererNotAllowedMapError >> google geliştirici panonuzdaki localhost: portunuzu kaydedin .
  3. ApiNotActivatedMapError >> Google API Kitaplığı sayfasında Google Haritalar API'sini etkinleştirme
  4. InvalidKeyMapError >> Anahtarınızı komut dosyalarınıza / kodlarınıza doğru şekilde ekleyin

Bazı kod değişiklikleri yaptıktan sonra, lütfen tarayıcı önbelleğinizi gerektiği gibi temizleyin.

Başka hatalar olması durumunda, Google Haritalar API Hata Kodları Dokümantasyon sayfasını kontrol edebilirsiniz .


0

"Bu HTTP yönlendiricilerinden (web siteleri) (İsteğe bağlı) gelen istekleri kabul et" yazan yerde, listelenmiş herhangi bir yönlendirici bulundurmanıza gerek yoktur. Bu nedenle, bu sayfadaki localhost'un yanındaki X işaretine tıklayın, ancak anahtarınızı kullanmaya devam edin.

Birkaç dakika sonra çalışmalıdır.

Yapılan değişikliklerin geçerlilik kazanması bazen birkaç dakika sürebilir, bu nedenle tekrar test etmeden önce birkaç dakika bekleyin.


0

Google aramaya 'IP adresim' yazarak genel IP adresimi aldım ve IP adresine yapıştırdım (üçüncü seçenek). Benim için çalışıyor.


0

Google aramaya 'IP adresim' yazarak genel IP adresimi aldım ve IP adresine yapıştırdım (üçüncü seçenek). Benim için çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.