Ключ API Googlemaps для Localhost


91

Як отримати ключ API googlemaps для роботи на localhost?

Я створив ключ API і під реферерами додаю наступне:

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

Це не працює, і якщо я виключаю ключ api, він теж не працює?


Відповіді:


130
  1. Перейдіть за цією адресою: https://console.developers.google.com/apis
  2. Створіть ключ API для свого проекту
  3. Клацніть на "Бібліотека"
  4. Клацніть на будь-який API, який ви хочете
  5. Натисніть "Увімкнути" (угорі праворуч)
  6. Клацніть на "Повноваження"> "Редагувати ключ"
  7. У розділі "Обмеження ключів" виберіть "HTTP-реферали (веб-сайти)"
  8. Введіть адресу веб-сайту (або "localhost", "127.0.0.1", "localhost: port" тощо для локальних тестів) у текстовому полі та натисніть, ENTERщоб додати його до списку
  9. Використовуйте свій ключ у своєму проекті

8
Це те, що я теж зробив, але мені цікаво: чи означає це, що КОЖНИЙ, що працює локально (localhost / 127.0.0.1), може використовувати мій КЛЮЧ API (і, можливо, зробити висновок для мене після того, як відбудеться нове ціноутворення 11.06.2018) ?)
tmanolatos

31
@tmanolatos Так, ось що це означає. Надавати свої виробничі ключові права localhost не є доброю практикою, оскільки кожен може використовувати ваш ключ під час локальної роботи. Замість цього ви повинні підтримувати два ключі. Такий для виробництва, який може побачити кожен, і тому повинен бути дозволений лише у вашому домені. Такий для розробки, який слід розглядати як облікові дані (не ділитися ним) і дозволяє доступ з localhost.
the_cheff

2
@tmanolatos Так, але ви повинні створити два ключі, один для тестування програми, а другий для основного додатка,
mirzaei.sajad

Я отримую цю відповідь, виконавши наведені вище кроки: {"error_message": "Ключі API із обмеженнями реферера не можна використовувати з цим API.", "Results": [], "status": "REQUEST_DENIED"} Ось URL , де DEV_KEY замінено моїм ключем API: maps.googleapis.com/maps/api/geocode/…
rmutalik

Він повертає правильний JSON, коли я використовую свій ключ API PROD_KEY.
rmutalik

10

Ви можете піти цим шляхом. Це працює принаймні для мене:

на сторінці облікових даних:

  1. Виберіть варіант з IP-адресою (варіант № 3).

  2. Введіть свою IP-адресу від свого провайдера. Якщо ви цього не зробите, знайдіть свою IP-адресу за цим посиланням: https://www.google.com/search?q=my+ip

  3. Збережи це.

  4. Змініть посилання на карту Google, як слідує між тегом сценарію:

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

  5. Зачекайте близько 5 хвилин або більше, щоб ваш ключ API поширився.

Тепер ваша карта Google повинна працювати.


9

Якщо ви працюєте на localhost, створіть окремий API-ключ для своєї розробки, а потім зніміть обмеження щодо цього ключа, щоб ваш localhost міг ним користуватися. Пам’ятайте, що не слід використовувати цей ключ на виробництві, щоб ви не виставляли свій ключ мисливцям в Інтернеті.

У мене була та сама проблема, і всі спроби отримати обмеження, що працюють у моєму середовищі localhost, не мали успіху, поки я не створив окремий файл apikey спеціально для розробки, а потім не видалив його обмеження. Однак я не використовую цей ключ у виробничому середовищі, і, закінчивши розробку, я негайно видалю ключ API.

Я знаю, що ця публікація запізнюється, але для людей, які, мабуть, зіткнуться з цією проблемою в майбутньому, це найкращий шлях.


5

Здається, я трохи запізнився на вечірку, і хоча я погоджуюсь, що створення окремого ключа для розробки (localhost) і продукту можна зробити і те, і те лише за допомогою одного ключа.

Коли ви використовуєте обмеження програми -> http рецензенти -> обмеження веб-сайтів, ви можете вводити URL-адреси підстановки.

Однак, використовуючи підстановочний знак, такий як .localhost / або .localhost: {порт}. (коли вже є .yourwebsite.com / * ), здається, не працює.

Просто введення одного * працює, але це в основному дає вам необмежений ключ, який теж не те, що ви хочете.

Коли ви включаєте повний шлях без використання символу підстановки *, він також працює, тому в моєму випадку ми додаємо:

http: // localhost {port} /
http: // localhost : {port} / something-else / тут

Змушує Карти Google працювати як локально, так і на www.yourwebsite.com, використовуючи той самий ключ API.

У будь-якому випадку, якщо наявність двох окремих клавіш також є варіантом, я б порадив це зробити.


1

Ви можете дотримуватися цього підручника про те, як використовувати Карти Google для тестування на localhost.

Перевірте ці пов’язані потоки SO:

Сподіваюся, це допомагає!


2
розірване посилання порушено
Рафаель Герсковічі


@AEGrey - не для мене, для майбутніх користувачів.
Рафаель Герсковічі

1

Вам потрібно перевірити конкретну помилку в консолі javascript (наприклад, Ctrl+ Shift+ Kу Firefox для Windows).

За словами Стівена Глібе (2016) , існує чотири випадки цієї проблеми. Якщо я можу підсумувати це, як це:

  1. MissingKeyMapError >> Отримайте ключ Google Maps API (але також розгляньте альтернативу №2)
  2. RefererNotAllowedMapError >> Зареєструйте ваш localhost: порт на панелі інструментів розробника Google .
  3. ApiNotActivatedMapError >> Увімкнення API Карт Google на сторінці Бібліотеки Google API
  4. InvalidKeyMapError >> Правильно додайте свій ключ до своїх скриптів / кодів

Виконавши деякі зміни коду, очистіть кеш браузера за необхідності.

Якщо є інші помилки, ви можете перевірити сторінку документації щодо кодів помилок API Карт Google .


0

Там, де написано "Прийняти запити від цих рефералів HTTP (веб-сайтів) (необов’язково)", вам не потрібно вказувати жодного реферала. Тож клацніть X біля localhost на цій сторінці, але продовжуйте використовувати свій ключ.

Потім він повинен запрацювати через кілька хвилин.

Внесені зміни іноді можуть зайняти кілька хвилин, щоб набути чинності, тому почекайте кілька хвилин, перш ніж тестувати знову.


0

Ввівши "мій IP" у пошуку Google, я отримав свою загальнодоступну IP-адресу та вставив її в IP-адресу (третій варіант). Це працює для мене.


0

Ввівши "мій IP" у пошуку Google, я отримав свою загальнодоступну IP-адресу та вставив її в IP-адресу (третій варіант). Це працює для мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.