2016-05-19 2 views
2

У меня возникла проблема с API Javascript Google Maps V3. Бревно консоли показывает:Ошибка API Карт Google: RefererDeniedMapError

Google Maps API error: RefererDeniedMapError https://developers.google.com/maps/documentation/javascript/error-messages#referer-denied-map-error

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

Вопрос уже задан здесь: Javascript error in Google Maps API v3 (RefererDeniedMapError), но ни один из ответов не помог мне.

Вот что я пытался до сих пор:

  1. Восстанавливающий Google Api
  2. Включение/отключение ограничения домена в измененном ключ консоли Google
  3. от браузера к серверу
  4. Пытаясь понять, если домен был по какой-то причине запрещен Google
  5. Создание нового проекта в Google Консоли и создание всего нового ключа API Javascript без (с самого начала) ограничения домена

Позвольте мне дать несколько больше фона данные:

  1. Im работает для внешнего клиента на уже существующем сайте, он ничего не знает о существующих ранее счетов Google, которые могут иметь ключ апи уже настроенный (они использовали некоторые сервисы Google API, но это все, что я знаю)
  2. Мне удалось обнаружить, что с ними связался Google по поводу квоты использования API, но опять же я не знаю, о чем комментирует информация.
  3. У них есть сервер IIS и им создан новый сайт в подкаталоге их основного домена
  4. Я заметил, что как-то самозадача (ajax) с нового сайта на собственный сайт приводит к междоменному запрос, который на самом деле странный, по моему мнению, слишком плохо, я не знаю, что их конфигурация сервера более подробно.
  5. Я проверил бесплатный план для Google Api, и предел составляет 25 тыс. В день, клиент сказал, что он не сможет подняться так высоко, но он готов заплатить за перезапуск API
  6. I ' ве протестировал вновь сгенерированный API на локальном окружении & других тестировании живого домена, и это выглядит как работает, но как только я попробовать эти ключи на грешном домене Ошибка выскакивает

Моего вопрос является:

  1. Есть ли безопасный способ понять, если домен каким-то образом запрещен goo gle для использования overquota API или некоторых других причин?
  2. Как я могу быть уверенным, что создание платежной учетной записи для домена и разрешение плана API выше 25k позволит снова включить мой план?
  3. Это проблема, связанная с javascript? Я думаю, что сделал все, что мог, чтобы проверить эту часть, но я открыт для предложений.
  4. Имеет ли значение наличие нескольких учетных записей google, ссылающихся на один и тот же домен для использования API? Я имею в виду, что из того, что я знаю, может быть несколько учетных записей Google с разными ключами API, созданными для той же цели в этом домене (ограничение домена или нет, они все еще могут использоваться)
+0

Как насчет того, чтобы напрямую просить Google об этой конкретной проблеме? – MrUpsidown

+0

@MrUpsidown Да, я бы хотел сделать это, если бы был только прямой канал, чтобы связаться с ними. У них больше нет call-центра (исключена их платная служба поддержки, которую я хотел бы сохранить как последний шанс). Даже в своей внутренней документации одно из их предложений заключается в том, чтобы спросить здесь, в StackOverFlow –

+0

Боковая информация: платная поддержка не является даже оплатой за звонок, а вместо нее производится в виде оплаты за месяц. Кажется абсурдным платить 150 $/месяц, просто чтобы получить ответ на одну проблему ... –

ответ

3

Для всех, кто когда-либо приземлится на этот вопрос в будущем: оказывается, это была проблема с доменом. Мне удалось связаться с одним из службы поддержки Google, используя их форум: https://code.google.com/p/gmaps-api-issues/

После публикации моего вопроса там мне сообщили, что домен, над которым я работал, имел прошлое с лицензией Google, он когда-то активировал коммерческий план а затем кто-то из прошлого нарушил ToS Google. К сожалению, обычный пользователь не может проверить, нарушил ли ваш домен Google ToS в прошлом, поэтому мне пришлось ждать ответа от службы поддержки Google.

Короче говоря: если у вас есть домен запрещенное Google в прошлом вы в беде, и есть 2 выхода: - Измените свой домен, чтобы получить свежую, не запрещенную - платить 10 000 $ для Лицензия Google для работы (не премиальная, просто «базовая» лицензия), если вы хотите снова работать с API. Цена не фантазия, это то, что мне рассказала служба поддержки Google.

Надеюсь, это поможет кому-то разобраться в этой плохо документированной ошибке.

UPDATE

документация была обновлена ​​и добавлена ​​ясное объяснение:

RefererDeniedMapError Your application was blocked for non-compliance with the Google Maps APIs Terms of Service, following several email notifications. To appeal the block and have your implementation reviewed, please complete this form . You will receive a response via email within a few business days.

https://developers.google.com/maps/documentation/javascript/error-messages

Итак, каждый, кто сталкивается с этим вопрос может подать апелляционную форму теперь.

0

Вы можете попробовать предложение, сделанное в это issue.

"You could try to disable IP to domain name redirection (as you have now), and use your IP in the example above. It’s not a pure solution, but at least you can have a map on your website."

Вы также можете проверить ответ here, если это может помочь вам.

Тогда, если какое-либо из вышеперечисленных решений вам не поможет, я думаю, вы должны рассмотреть рекомендацию MrUpsidown.

+0

Спасибо за ваше предложение, это была одна из ссылок, которые я посетил в прошлом. Дело в том, что у меня нет проблем с самими Картами Google, но с Javascript API, как я упоминал в вопросе. Поэтому у меня нет iframe, окружающего карту, а просто форму, которую нужно отправить в домен, над которым я работаю. Вставка самого сообщения в iframe, размещенном в другом домене, только для того, чтобы JavaScript-интерфейс работал слишком грубо для моей ситуации. В дополнение к этому у меня нет доступа к настройкам DNS клиента. Я немного из идей, см. Мой ответ на @MrUpsidown, а также –

Смежные вопросы