2016-02-09 6 views
52

Мы пытаемся разработать приложение для геоположения для одного из наших клиентов, и мы хотим сначала протестировать его в собственном домене.Google Maps JavaScript API RefererNotAllowedMapError

Мы подписались на API JavaScript Карт Google, и у нас есть действующий ключ браузера, и наш домен www.grupocamaleon.com имеет право использовать этот ключ.

Но мы не можем сделать даже самый простой пример для запуска без ошибок.

У нас, в нашей области и с нашим ключом, следующие демо:

(1) http://www.grupocamaleon.com/boceto/aerial-simple.html

Но это не работает, и Firebug консоль говорит:

«Google Maps Ошибка API: ошибка API Карт Google: RefererNotAllowedMapError (ссылка на документацию Google по RefererNotAllowedMapError). URL вашего сайта для авторизации: (1) «

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

Мои учетные данные Страница:

enter image description here

Почему мы получаем эту ошибку? Как мы можем это исправить? ТИА

+0

Возможный дубликат [Google Maps API реферера не допускается] (http://stackoverflow.com/questions/32600314/google-maps-api-referrer-not-allowed). [Ваш код работает для меня] (http://www.geocodezip.com/v3_SO_45degreeImagery_KeyError.html) (с моим ключом), поэтому что-то не так с вашим ключом, разрешенными реферерами или службами, которые можно использовать с ним. – geocodezip

+0

Возможный дубликат [Ошибка Javascript в API Карт Google v3 (RefererDeniedMapError)] (http://stackoverflow.com/questions/30981375/javascript-error-in-google-maps-api-v3-refererdeniedmaperror) – geocodezip

+0

Но RefererNotAllowedMapError <> RefererDeniedMapError. –

ответ

7

Согласно с google docs это произошло потому, что url, на котором вы используете API Google Maps, он not registered в list of allowed referrers

EDIT:

От Google Docs

All subdomains of a specified domain are also authorized.

If http://example.com is authorized, then http://www.example.com is also authorized. The reverse is not true: if http://www.example.com is authorized, http://example.com is not necessarily authorized

Так, пожалуйста настройте домен http://www.testdomain.com, тогда ваш http://testdomain.com начнет работу.

+0

В моем случае это был неверно настроенный DNS для домена. Например: www.testdomain.com работал нормально testdomain.com не работал, вызывая ошибку –

+0

Казалось бы, логика этого отменяется? Если я чего-то не упущу. – twobob

11

Согласно документации, «RefererNotAllowedMapError» означает

The current URL loading the Google Maps JavaScript API has not been added to the list of allowed referrers. Please check the referrer settings of your API key on the Google Developers Console.

У меня есть API Google Maps Встроить настроить для собственного использования личного/работы и до сих пор не указано никаких HTTP рефереры. Я не регистрирую ошибок. Ваши настройки должны заставить Google думать, что URL-адрес, который вы посещаете, не зарегистрирован или не разрешен.

enter image description here

3

вы показать скриншот страницы апи мандатной, но вы должны нажать на «Browser ключ 1» и идти оттуда, чтобы добавить рефереры.

4

enter image description here

Принимать запросы от этого HTTP рекомендателей (веб-сайты)

Написать путь каталога локального

+1

в соответствии с текстом Google, он должен быть необязательным свойством, и если он пуст, он должен работать – ejectamenta

95

Я знаю, что это старый вопрос, который уже имеет несколько ответов, но у меня был это та же проблема, и для меня проблема заключалась в том, что я следовал примеру, представленному на console.developers.google.com, и ввел мои домены в формате *.domain.tld/*. Это не работает на всех, и я попытался добавить все виды изменений к этому, как domain.tld, domain.tld/*, *.domain.tld и т.д.

Что решил это для меня добавлял фактический протокол тоже; http://domain.tld/* - единственное, что мне нужно для работы на моем сайте. Думаю, мне нужно будет добавить https://domain.tld/*, если мне нужно перейти на HTTPS.

+0

Я подтверждаю: единственная комбинация, которая позволила мне использовать API, была «http://www.---.com/* ' –

+3

Этот ответ является единственным, что заработало мой код. Я могу подтвердить, что пример, который предоставляет Google, не работает. – Jeff

+0

Почему в этом вопросе не было ответа, обозначенного как «лучший ответ»? Специально для powerbuoy. –

0

Проверьте свою скидку на месте. Для загрузки API Google Maps JavaScript, используйте тег скрипта, как этот

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" 
async defer></script> 

Я с помощью этой декларации на моем сайте Wordpress в function.php файле

wp_enqueue_script("google-maps-v3", "//maps.google.com/maps/api/js?key=YOUR_API_KEY", false, array(), false, true); 

Я поставил ключ API на этом формате, и его произведения изобразительного

http://my-domain-name(without www).com/* 

эта декларация не работает

*.my-domain-name.com/* 
3

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

9

Я пробовал много вариантов реферера и ожидал 5 минут, пока не понял, что пример заполнения Google в поле формы ошибочен. Они показывают:

*.example.com/* 

Однако это работает только если у вас есть subdomain. или www. перед вашим доменным именем. Следующим работал для меня сразу (минуя ведущий период из примера Google):

*example.com/* 
+0

Плохая идея - кто-то может создать 'hackexample.com' и использовать ваш api – HyderA

+0

@HyderA. Более вероятно, что кто-то зарегистрирует бесплатные учетные записи google, чтобы получить дополнительные нагрузки на карту. – ow3n

+0

работал! благодаря!!!! –

-1

Снятие ограничений (до Нет) сработало для меня.

+1

Удаление ограничений считается плохой практикой и делает ваш API уязвимым. – mtness

0

Для более глубоких вложенных страниц

Если у вас есть проект в папке, например, или вложенные страницы

http://yourdomain.com/your-folder/your-page вы можете ввести это в

http://yourdomain.com/*/*

важная часть, которая /*/*/* зависит от того, как далеко вы должны пойти

Кажется, что * не будет соответствовать / или получить в более глубокие дорожки ..

Это даст свой полный доступ к домену, а если у вас есть более глубокая вложенность, чем это ..

0

Я получил мой работать, наконец, используя этот совет от Google: (https://support.google.com/webmasters/answer/35179)

Вот наши определения домена и сайта. Эти определения являются специфическими для поиска проверки консоли:

http://example.com/ - A site (because it includes the http:// prefix) 
example.com/ - A domain (because it doesn't include a protocol prefix) 
puppies.example.com/ - A subdomain of example.com 
http://example.com/petstore/ - A subdirectory of http://example.com site 
Смежные вопросы