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

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

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

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

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

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

Любая помощь будет принята с благодарностью.

Ответ 1

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

Ответ 2

Вам не хватает v=3 перед тем, как key={yourkey}

Вот так:

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

Ответ 3

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

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

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

localhost/*

Ответ 4

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

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

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

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

Ответ 5

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

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

^ У этого есть бит ?v=3.exp

Ответ 6

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

Ответ 7

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

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

Ответ 8

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

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

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

Ответ 9

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

xxx.xxx.xxx.xxx

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

*.mydomain.com/*

Надеюсь, это поможет.

Ответ 10

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

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

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

Ответ 11

Теперь добавление карты от Google стало более проблематичным, чем было раньше. На странице https://leafletjs.com/ вы найдете еще одну более удобную библиотеку с картами.