Estoy usando https://maps.googleapis.com/maps/api/geocode/json ? enlace con la clave del servidor y la IP del usuario para encontrar la latitud y longitud de cualquier dirección, cuando lo intento, encuentro el error como
Tengo una clave de acceso al servidor de Google y he puesto la dirección IP de mi servidor en su lista blanca.
La URL a la que estoy intentando acceder a través de PHP CURL es:
El resultado que obtengo:
Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)
¿Hay algo que deba configurar? La API de codificación geográfica también está activada.
google-api
google-places-api
usuario3336944
fuente
fuente
Respuestas:
Tuve el mismo problema y encontré esto.
En la URL, requiere la clave del servidor al final y no la clave api para la aplicación.
Básicamente, solo agrega la clave del servidor al final de la URL de esta manera:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY
Ahora, para obtener la clave del servidor, simplemente siga estos pasos:
1) Vaya a la Consola de desarrollador https://code.google.com/apis/console/
2) En Credenciales, en Acceso a API pública, Crear nueva clave
3) Seleccione la clave del servidor de la opción.
4) Ingrese su dirección IP en el campo y si tiene más direcciones IP, puede agregar en cada línea. NOTA: Ingrese la dirección IP solo cuando desee usarla para su propósito de prueba. De lo contrario, deje en blanco la sección Dirección IP.
5) Una vez que haya terminado, haga clic en crear y se generará su nueva clave de servidor y luego puede agregar esa clave de servidor a su URL.
Lo último es que, en lugar de poner sensor = true en el medio de la URL, puedes agregarlo al final de esta manera:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true
Esto definitivamente resolverá el problema y solo recuerde usar la clave del servidor para
Places API
.EDITAR
Creo que la URL web ha cambiado en los últimos años. Puede acceder a la consola de desarrolladores desde aquí ahora: https://console.developers.google.com/apis/dashboard
Espero que esta respuesta te ayude a ti y a otros espectadores. Buena suerte .. :)
fuente
fuente
Además de la clave de API que se le asigna, Google también verifica el origen de la solicitud entrante mirando
REFERRER
la dirección IP o la dirección IP. Para ejecutar un ejemplo en curl, cree uno nuevoServer Key
en la consola de API de Google . Al crearlo, debe proporcionar la dirección IP del servidor. En este caso, será su dirección IP local . Una vez que haya creadoServer Key
y incluido en la lista blanca su dirección IP, debería poder usar la nueva clave API en curl.Supongo que probablemente creó su clave API como una
Browser Key
que no requiere que incluya en la lista blanca su dirección IP, sino que utiliza laREFERRER
etiqueta de encabezado HTTP para la validación. curl no envía esta etiqueta de forma predeterminada, por lo que Google no pudo validar su solicitud.fuente
Actualmente, la API de Google Places no admite claves de Android o iOS generadas desde la consola de API de Google. Actualmente, solo se admiten las claves de servidor y navegador.
fuente
Está intentando usar una CLAVE API que restringió de una manera que no permitirá esta acción.
Según Google:
Entonces, lo correcto es crear otra CLAVE API y elegir las restricciones correctas para este asunto. En su caso, elija "Direcciones IP" (en "Restricciones de la aplicación") y use "AGREGAR UN ARTÍCULO" para agregar la IP de su servidor. Tenga en cuenta que dejar una lista en blanco no funcionará y hará que Google cambie sus restricciones a "Ninguna".
Además, no olvide agregar las API relevantes en "Restricciones de API" (en su caso, "API de codificación geográfica").
Una última cosa: Google está bloqueando el uso de esta API hasta que vincule su aplicación a la cuenta de facturación de Google Cloud. Entonces, si aún no lo hizo, una vez que obtenga una respuesta con éxito, le dirá que debe hacerlo primero (tiene un paquete de inicio gratuito).
fuente
Usted crea una clave sin referenciador, no ingrese la dirección de referencia
fuente
La API de Google Place requiere que se incluya el encabezado HTTP de referencia al realizar la llamada a la API.
Incluya el encabezado HTTP "Referer: yourdomain.com" y esto debería solucionar los problemas de respuesta.
fuente
Además, la API correspondiente debe estar habilitada para el proyecto dado
https://console.developers.google.com/apis/library?project=projectnamehere
fuente
Para la última versión de la API, lo contrario parece ser cierto para mí.
Al llamar a la url
https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key>
recibí el siguiente errorUna vez que cambié el orden
https://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address>
, funcionó bien.Tenga en cuenta que el mensaje de error recibido anteriormente fue el mensaje que recibí al ir directamente a la URL en el navegador. Cuando llamé a la API desde un programa de software, recibí una respuesta HTML con básicamente el siguiente mensaje:
fuente
Para las aplicaciones de iOS o Android, la clave necesita un privilegio adicional otorgado.
Vaya a Google Console -> API y servicios -> Biblioteca. Toque la biblioteca de Lugares para su plataforma y luego toque Activar.
Ver https://developers.google.com/maps/gmp-get-started#enable-api-sdk
fuente
Autenticación, cuotas, precios y políticas Autenticación Para utilizar la API de indicaciones, primero debe habilitar la API y obtener las credenciales de autenticación adecuadas. Para obtener más información, consulte Introducción a Google Maps Platform.
Cuotas y precios Revise la página de uso y facturación para obtener detalles sobre las cuotas y los precios establecidos para la API de indicaciones.
Políticas El uso de la API de rutas debe estar de acuerdo con las políticas de la API.
más información: visite: --- https://developers.google.com/maps/documentation/directions/start?hl=en_US
fuente
agregar solo en AppDelegate como
y elimine la clave en esta URL.
ahora la URL es
fuente
Deshabilite la api de dirección y la api de codificación geográfica y vuelva a habilitarla.
funciona solo durante 5-10 segundos y luego se desactiva automáticamente.
significa que tiene sólo 5-10 segundos para probar su tarea.
fuente