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

Это IP, сайт или мобильное приложение не имеет права использовать этот ключ API

Я использую https://maps.googleapis.com/maps/api/geocode/json? связать с ключом сервера и IP-адресом пользователя, чтобы найти широту и долготу любого адреса, при попытке найти ошибку как

У меня есть ключ доступа к серверу от Google, и я поместил IP-адрес своего сервера в их белый список.

URL, к которому я пытаюсь получить доступ через PHP CURL:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true&key=XXXXXXXXXXXX

Результат, который я получаю:

Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)

Есть ли что-то, что мне нужно настроить. API геокодирования также включен.

4b9b3361

Ответ 1

У меня была такая же проблема, и я нашел это.

В URL-адресе для этого требуется ключ сервера, а не ключ api для приложения.

В принципе, вы просто добавляете ключ сервера в конец URL-адреса, например:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY

Теперь, чтобы получить ключ сервера, просто выполните следующие действия:

1) Перейти к консоли разработчика https://code.google.com/apis/console/

2) В учетных данных в разделе "Открытый доступ к API" создайте новый ключ

3) Выберите ключ сервера из опции.

4) Введите свой IP-адрес в поле и, если у вас больше IP-адресов, вы можете просто добавить каждую строку. ПРИМЕЧАНИЕ. Введите только IP-адрес когда вы хотите использовать его для целей тестирования. Else оставить поле IP-адрес пустым.

5) После того, как вы закончите, нажмите "Создать", и ваш новый ключ сервера будет сгенерирован, и вы сможете добавить этот ключ сервера к своему URL-адресу.

Последнее, что вместо того, чтобы поместить датчик = true в середине URL-адреса, вы можете добавить его в конце следующим образом:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true

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

Надеюсь, этот ответ поможет вам и другим зрителям. Удачи..:)

Ответ 2

В дополнение к ключу API, который вам назначен, Google также проверяет источник входящего запроса, просматривая либо REFERRER, либо IP-адрес. Чтобы запустить пример в curl, создайте новую Server Key в консоли Google API. При его создании вы должны указать IP-адрес сервера. В этом случае это будет ваш локальный IP-адрес. После создания Server Key и белого адреса вашего IP-адреса вы сможете использовать новый ключ API в curl.

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

Ответ 3

  1. Выберите ключ
  2. Вкладка "Ограничение API"
  3. Выберите ключ API
  4. Сохранить
  5. Выберите Ограничение приложения → Нет.
  6. Сохранить

enter image description here

enter image description here

enter image description here

enter image description here

Ответ 4

В настоящее время API Google Places не поддерживает ключи Android или iOS, созданные в консоли Google API. В настоящее время поддерживаются только ключи сервера и браузера.

Ответ 5

Вы создаете ключ без ссылки не вводите адрес реферера

Ответ 6

API Google Place требует, чтобы заголовок HTTP-реферера включался при вызове API.

Включите заголовок HTTP "Referer: yourdomain.com", и это должно устранить проблемы с ответом.

Ответ 7

Также соответствующий API должен быть включен для данного проекта

https://console.developers.google.com/apis/library?project=projectnamehere

Ответ 8

Для последней версии API для меня все наоборот.

При вызове URL https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key> я получил следующую ошибку

Вы должны использовать ключ API для аутентификации каждого запроса к API Google Maps Platform. Для получения дополнительной информации, пожалуйста, обратитесь к http://g.co/dev/maps-no-account

Как только я переключил заказ на https://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address> он работал нормально.

Обратите внимание, что сообщение об ошибке, полученное выше, было сообщением, которое я получил при переходе непосредственно к URL-адресу в браузере. Когда я вызвал API из программного обеспечения, я получил ответ HTML со следующим сообщением:

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

Ответ 9

Для приложений iOS или Android ключу требуется дополнительная привилегия.

Перейдите в Консоль Google → API и службы → Библиотека. Нажмите на библиотеку "Метки" для своей платформы, а затем нажмите "Включить".

Видеть https://developers.google.com/maps/gmp-get-started#enable-api-sdk

Ответ 10

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

По данным Google:

Note: If you need to call web, web service, and/or mobile APIs from the same (client-side) app, create and restrict multiple keys.

Поэтому правильнее всего сделать еще один API-ключ и выбрать для этого правильные ограничения. В вашем случае выберите "IP-адреса" (в разделе "Ограничения приложений") и используйте "ДОБАВИТЬ ПУНКТ", чтобы добавить свой ip сервера. Обратите внимание, что оставление пустого списка не сработает и приведет к тому, что Google изменит ваши ограничения на "Нет".

Кроме того, не забудьте добавить соответствующие API в разделе "Ограничения API" (в вашем случае "API геокодирования").

И последнее: Google блокирует использование этого API, пока вы не свяжете свое приложение с платежным аккаунтом Google Cloud. Так что, если вы еще этого не сделали, как только вы успешно получите ответ, он скажет, что вы должны сделать это первым (у него есть бесплатный стартовый пакет).

Ответ 11

У меня возникла проблема, потому что я не включил ключ APL в консоли Google.

Ответ 12

  url = https://maps.googleapis.com/maps/api/directions/json?origin=19.0176147,72.8561644&destination=28.65381,77.22897&mode=driving&key=AIzaSyATaUNPUjc5rs0lVp2Z_spnJle-AvhKLHY

добавить только в AppDelegate как

            GMSServices.provideAPIKey("AIzaSyATaUNPUjc5rs0lVp2Z_spnJle-AvhKLHY")

и удалите ключ в этом URL.

теперь URL-адрес

https://maps.googleapis.com/maps/api/directions/json?origin=19.0176147,72.8561644&destination=28.65381,77.22897&mode=driving