Ключ API Google Maps V3 недействителен - но мой личный ключ dev работает

недавно я занимался обновлением наших карт до v3, и во время разработки я использовал свой личный ключ. Все работало нормально. Когда пришло время идти в производство, кто-то создал ключ через учетную запись google компании, и теперь он не работает. Я сидел рядом с ними, убедившись, что они генерируют ключ браузера, и я уверен, что домены верны в разделе " соответствие реферера оба: .mydomain.com/ mydomain.com/*

Я проверил, что мы используем ключ для приложения браузера.

Я проверил, что Google Maps API v3 включен через панель сервисов. Все идентично тому, как я делал это с моим ключом. Я думаю, что единственная разница в том, что они включили Биллинг на учетной записи компании, где мой ключ не делает. Мы хотели бы, чтобы это переместилось с моего ключа, видя, как он получает больше, чем 25k просмотров/дневной лимит на мой аккаунт.

при использовании ключа API компании карта загружается, а затем очень быстро я получаю окно предупреждения, которое гласит: "Google отключил использование API Карт для этого приложения. Предоставленный ключ не является действительным ключом Google API или не авторизован для Google Maps Javascript API v3 на этом сайте. Если вы являетесь владельцем этого приложения, вы можете узнать о том, как получить ключ здесь: https://developers.google.com/maps/documentation/javascript/tutorial#api_key"

Если я затем заменю ключ своим собственным ключом, с теми же настройками рефереров, он работает..

любая помощь была бы весьма признательна.

10 ответов


вы пропускаете v=3 перед key={yourkey}

такой:

maps.googleapis.com/maps/api/js?v=3&key={your key}&sensor=false

Я смог решить эту проблему, просто создав новый ключ браузера. Я сгенерировал, бросил его в браузер, карта загрузилась. Затем я вошел и скопировал своих рефереров с предыдущего ключа. Сохраненный. Обновленный. И это все еще работало. Я честно думаю, что это была ошибка в конце Google, и в тот день, когда мы создавали оригинальные ключи, он выплевывал недействительные ключи.


Я думаю, вы должны проверить рефереров. Данный пример на сайте консоли API:

Example: *.example.com/*. *One URL or pattern per line.*

попробуйте включить полные имена рефереров без использования подстановочных знаков. Использование подстановочных знаков кажется немного странным. Больше людей борются с этим, см. этой пост. Вы можете найти описание возможной конфигурации белого списка на страница справки консоли Google APIs.

(вы упомянули, что ваш личный ключ имеет те же рефереры, что и ваш ключ компании. Интересно, возможно ли это, поскольку в этом случае вы можете использовать разные ключи для одного и того же приложения.)


на самом деле вы хотите, чтобы Google Maps JavaScript API для включения вместо Google Maps API v3 потому что первое-это то, что вы на самом деле используете здесь. Последний теперь разделен на iOS и Android BTW.

Также вам нужно добавить вашу ссылку в ваш ключ сервера.

Если это местные, это должно быть что-то вроде:

localhost/*


Я ударился головой о стену на некоторое время. В том числе номер версии, который пример не делает, исправил его для меня.

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&key=YOURKEY">

^ У этого есть ?v=3.exp немного


под реферерами у нас было *. Исправление состояло в том, чтобы оставить его пустым`, что означает разрешить все.


добавить v=3; перед вашим ключом.

maps.googleapis.com/maps/api/js?**v=3;**key={your key};sensor=false

У меня было несколько отчетов от клиентов о проблемах с Google maps на их сайтах. Я проверил и получил ошибки "недопустимый ключ".

Как ни странно, Google раньше выдавал ключи с пробелом до и после ключа API. В прошлом, когда я оставлял пробелы, ключ ломался. Было неприятно не забыть покинуть эти места.

Я trim() мой текущий ключ API (с пробелами или без них) перед отправкой его в Google Maps, и он работает.


Если вы тестируете локально, обязательно добавьте свой локальный ip-адрес в ключ сервера:

xxx.xxx.xxx.xxx

Если вы хотите, чтобы api Карт был доступен во всем домене, добавьте это в ключ браузера:

*.mydomain.com/*

надеюсь, что это помогает.


Я тоже получаю неверное ключевое сообщение, и после траления по всему интернету, нашел, в чем моя проблема. Это может повлиять и на других. Ключ тут ни при чем.

Я обнаружил, что у меня была ошибка в функции "инициализировать" (в моем случае отсутствующая запятая в конце строки в mapOptions). Это произошло потому, что я добавил новую (последнюю) строку и не смог поставить запятую в конце предыдущей. Хороший аргумент для того, чтобы всегда иметь запятую, даже на последняя строка.

теперь я могу включить или выключить недопустимое ключевое сообщение, удалив / заменив эту запятую. Я заключаю, что любая ошибка в карте, связанная с JS, может привести к этому.