Подтвердить что ты не робот

API Google Geocoding - REQUEST_DENIED

Очевидно, мне не нужен "ключ API Карт" для использования "API геокодирования Google" в соответствии с:

http://code.google.com/apis/maps/documentation/geocoding/index.html

Тем не менее, я получаю это:

{
  "status": "REQUEST_DENIED",
  "results": [ ]
}

Значит ли это, что мой IP заблокирован? Что я могу сделать, чтобы преодолеть это?

4b9b3361

Ответ 1

До конца 2014 года общий источник этой ошибки не указывал обязательный параметр sensor из запроса, как показано ниже. Однако по состоянию на 2014/12/31 или ранее это больше не требуется:

Параметр датчика

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


Вы указали параметр sensor в запросе?

"REQUEST_DENIED" указывает, что ваш запрос был отклонен, как правило, из-за отсутствия параметра датчика.

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

Ответ 2

Удалите параметр ключа API и его значение.

например. https://maps.googleapis.com/maps/api/geocode/json?address=[YOUR ADDRESS]&sensor=true

Ответ 3

Я обнаружил, что в моем случае вызов службы без защищенного протокола (значение: http) после добавления ключа = API_KEY вызывает эту проблему. Переход на https решил.

Ответ 4

Если вы просто скопируете и вставьте URL-адрес примера, который Google дает на своем веб-сайте http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false он не будет работать из-за неправильного параметра датчика. Вы должны изменить его на true или false, а не на то, что они написали. Возможно, это ошибка, которая у вас была, как это случилось со мной...

Ответ 5

Я заметил, что вы также получаете REQUEST_DENIED для некоторых адресов, если вы неправильно кодируете URL-адрес URL. Например, в

123 Main St #B, Mytown, CA 94110

символ '#' должен быть закодирован как% 23

Ответ 6

Для тех, кто ищет эту страницу в 2017 году или за ее пределами, как я

Датчик больше не требуется, я попробовал и получил ошибку:

SensorNotRequired

Мне просто нужно было активировать API геокодирования Карт Google, что сейчас необходимо.

Надеюсь, это поможет кому-то вроде меня.

Ответ 7

У меня была эта проблема, и я понял, что предполагаю, что Geocoding поставляется с API-интерфейсом JS. Однако это отдельный API, который я не включил в облачную консоль. Включение этого исправлено сразу.

Ответ 8

Сосать Google не позволяет вам, чтобы ваша служба не была включена этой учетной записью. Сначала попробуйте включить его. Идите сюда https://console.developers.google.com/project и создать новый проект с включенным сервисом места, это может решить вашу проблему.

Ответ 9

У меня возникла и эта проблема, используя модуль Drupal 7 Location. Результатом этой ошибки стало автозаполнение всех пустых мест. Выполнение одного из запросов в адрес api вручную привело к этой ошибке в возвращаемом JSON:

"Ключи API браузера не могут иметь ограничений для ссылок при использовании с этим API".

Решение проблемы было легко: создать новый ключ без каких-либо ограничений и использовать его только для геокодирования.

Примечание для новых ключей google api: по ограничениям они подразумевают ограничение запросов с использованием ключа api для определенных доменов/поддоменов. (например, разрешен только запрос http://yourdomain.com).

Ответ 10

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

Если вы используете любые другие API-интерфейсы, которые разрешают использование ключей с ограничениями реферера (например, API JS Maps), вероятно, лучше всего создать второй ключ без ограничений, который будет использоваться исключительно для геокодирования, поскольку другие API-интерфейсы могут отображать ваш ключ публично, а кто-то еще может начать использовать его на своем сайте.

Ответ 11

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

https://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=Placename&key=XXxxxXXxXxxxxXXxx

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

Example of project list in Google Developer Console

Если вы по-прежнему сталкиваетесь с проблемами, возможно, вы захотите распечатать значения элементов status и error_message из ответа Google, вы увидите что-то вроде этого:

REQUEST_DENIED - This IP, site or mobile application is not authorized to use this API key. Request received from IP address 123.4.5.678, with empty referer

Если в нем не упоминается ограничение IP-адреса, оно может дать вам достаточно информации о проблеме, чтобы исправить ее в Google.

Ответ 12

Google возвращает очень полезное сообщение об ошибке, которое помогает исправить проблему!

Dim Request         As New XMLHTTP30
Dim Results         As New DOMDocument30
Dim StatusNode      As IXMLDOMNode
Request.Open "GET", "https://maps.googleapis.com/maps/api/geocode/xml?" _
  & "&address=xxx", False
Request.Send
Results.LoadXML Request.responseText
Set StatusNode = Results.SelectSingleNode("//status")
Select Case UCase(StatusNode.Text)
    Case "REQUEST_DENIED"
          Debug.Print StatusNode.NextSibling.nodeTypedValue
    ... 

Примеры сообщений об ошибках

Сообщение 1: Запросы к этому API должны быть через SSL. Загрузите API с помощью "https://" вместо "http://".

Сообщение 2: Сервер отклонил запрос: Вы должны использовать ключ API для аутентификации каждого запроса к API Google Maps Platform. Для дополнительной информации, пожалуйста...