velocidad - ¿Se puede utilizar una clave de API restringida a aplicaciones de Android para la matriz de distancia de Google?
velocimetro gratis (1)
Tenga en cuenta que la restricción de aplicaciones de Android es válida solo para Google Maps Android API v2 y Google Maps Places para Android. Los servicios web (por ejemplo, Distance Matrix API) no funcionarán con esta restricción.
Las restricciones que funcionarán con las claves de API para servicios web son restricciones de IP.
Se supone que las solicitudes de servicios web se ejecutan en los servidores back-end. Si necesita restringir una clave API, la solución alternativa es crear un servidor intermedio. Su aplicación Android debe enviar solicitudes al servidor intermedio, el servidor intermedio debe enviar solicitudes a Google y pasar las respuestas a su aplicación. En este caso, puede restringir una clave API por dirección IP de su servidor intermedio.
Active la API de Google Distance Matrix y restringí la clave para las aplicaciones de Android porque enviaré consultas http desde mi aplicación de Android para recibir una respuesta json:
Sin restricción, funciona y obtengo el resultado esperado. Pero cuando está restringido (con mi nombre de paquete y SHA1) aparece un mensaje de error en el objeto json con un estado "REQUEST_DENIED" que dice:
Esta IP, sitio o aplicación móvil no está autorizada para usar esta clave API. Solicitud recibida de la dirección IP [ip_addr], con referer vacío.
En otras publicaciones, entiendo que la API Distance Matrix debe usarse con una clave de servidor , pero en esta nueva consola de Google no existe una opción para una clave de servidor ; simplemente crea una clave y elige una restricción de la anterior.
Firebase Console crea una clave de servidor y puedo usarla en mi aplicación de Android, pero sin restricciones.
Entonces, ¿cómo restrinjo esta clave al uso de Distance Matrix API solo desde mi aplicación de Android?