REQUEST_DENIED при использовании API Google Адресов - PullRequest
9 голосов
/ 08 декабря 2011

Я пытаюсь сделать запрос к API Google Адресов, используя следующий URL: https://maps.googleapis.com/maps/api/place/search/xml?location=37.77264,-122.409915&radius=500&types=educational%20services&name=everest%20college%20san%20francisco&sensor=false&key=YourApiKey

Это ответ, который я получаю:

<PlaceSearchResponse>
  <status>REQUEST_DENIED</status>
</PlaceSearchResponse>

Есть идеи, что может быть не так с вышеуказанным URL?

Ответы [ 12 ]

14 голосов
/ 11 декабря 2012

ВАЖНО: Зайдите в консоль API здесь , затем в СЕРВИСЫ и проверьте, включен ли ваш «API мест»

7 голосов
/ 13 января 2012

Возможно, вам следует добавить «& sensor = true / false» в конце URL, который вы отправляете.

6 голосов
/ 28 октября 2013

ПРИМЕЧАНИЕ: - Я реализовал это в Android-приложении.

Я столкнулся с той же проблемой с этим API.

Большинство решений / предложений, доступных в сети, касаются неправильного ключа.

а как получить соответствующий ключ? здесь очень мало помощи.

Единственная причина , стоящая за этим в моем случае, была неправильный КЛЮЧ .

Я использовал свой Android Key (The one we use for google Maps) для доступа к google places, поэтому он давал мне ACCESS DENIED ответ.

После нескольких часов борьбы я заметил, что где-то в документации Google API был скриншот, как создать KEY

в том, что я заметил, что ключ, который они использовали, был в "Key for browser apps (with referers)"

тогда как тот, который я использовал, был в "Key for Android apps (with certificates)"

.....

и to get the respective key We need to create a Browser Key.

Ключ, который я использовал изначально, был

enter image description here

Требуемый ключ enter image description here

, чтобы получить требуемый ключ : - просто нажмите "Browser Key" и снова нажмите ввод, который он запрашивает относительно некоторого URL, не является обязательным полем

enter image description here

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

Не забудьте включить службы "Places API" из консоли API

4 голосов
/ 10 октября 2012

Приятно видеть эти многочисленные решения.позвольте мне добавить еще один в список.Вы также можете попробовать изменить адрес порта на 443, чтобы получить ответ от Places API

2 голосов
/ 10 октября 2013

В моем случае проблема заключалась в том, что я пытался использовать ключ API для Android (что кажется довольно логичным), но затем я попытался изменить его на ключ API браузера, и он, наконец, работает прямо сейчас. Зачем? Не спрашивай меня. :)

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

1 голос
/ 22 февраля 2014

Моя ситуация состояла в том, что у меня был включен API, я сгенерировал ключ API, но я также добавил несколько IP-адресов, чтобы ограничить, откуда поступают запросы API.Однако, если вы разрабатываете локально, вы не должны устанавливать какой-либо IP-адрес, потому что IP-адрес может быть от вашего маршрутизатора (192.168.1.120) или от интернет-провайдера (238.382.33.298) или любого другого, так что нет хорошего способа ограничитьЗапросы API по IP-адресу.

При локальной разработке установите пустое значение.

При развертывании на рабочем или другом сервере разработки с постоянным IP-адресом установите для него значениекаким бы ни был IP-адрес сервера.

1 голос
/ 04 февраля 2013

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

Я дважды проверил, чтобы убедиться, что мой ключ API правильный, но я не понял, что мне нужно было создать новый ключ сервера из консоли API. Теперь я получаю НОЛЬ результатов вместо сообщения об отказе.

1 голос
/ 08 декабря 2011

Ваш ключ выглядит недействительным, как упомянул @Bryan Weaver в комментариях.Подстановка моего собственного ключа в запросе возвращает ZERO_RESULTS.

Кстати, вам также следует проверить список поддерживаемых типов - образовательные% 20services не являются одними из них.Это не то, что дает вам REQUEST_DENIED, но все равно стоит исправить.Если вы хотите указать несколько типов, разделите их с помощью канала (|).

0 голосов
/ 17 января 2014

У меня была похожая проблема, я ее исправил и обнаружил несколько вещей, которые могут быть полезны при устранении неисправностей,

  • с использованием http вместо https приведет к пропуску REQUEST_DENIED
  • & userIp = xxxx приведет к REQUEST_DENIED
  • , ключ сервера должен быть сгенерирован и использован в случае, если запрос сделан из сценария php, даже если ТОЛЬКО используется пользователями через браузер или это приведет к REQUEST_DENIED
  • перед тестированием необходимо несколько минут, если список разрешенных IP-адресов был изменен

Надеюсь, это поможет некоторым из вас, ребята

0 голосов
/ 15 февраля 2013

В моем случае это был HTTPS вместо HTTP, а также диапазон, который был небольшим.

...