El servidor ha devuelto el código de respuesta HTTP 403 para la URL de la API de Google Maps.
Estoy trabajando en un programa que debería mostrar un mapa con Java Swing utilizando una URL de la API de Google Maps mediante coordenadas dadas, mi problema es que cuando ejecuto el código obtengo esta excepción:
java.io.IOException: El servidor devolvió el código de respuesta HTTP: 403 para la URL
Este es mi código:
public class GoogleMapsDem {
public static void main(String[] args) throws IOException {
JFrame test = new JFrame("Google Maps");
try {
String latitude = "40.714728";
String longitude = "-73.998672";
String imageUrl = "https://maps.googleapis.com/maps/api/staticmap?center=" +
latitude +
"," +
longitude +
"&zoom=11&size=612x612&scale=2&maptype=roadmap&key=YOUR_API_KEY";
String destinationFile = "image.jpg";
// leer la imagen del mapa desde Google
// luego guardarla en un archivo local: image.jpg
//
URL url = new URL(imageUrl);
InputStream is = url.openStream();
OutputStream os = new FileOutputStream(destinationFile);
byte[] b = new byte[2048];
int length;
while ((length = is.read(b)) != -1) {
os.write(b, 0, length);
}
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(1);
}
// crear un componente GUI que carga la imagen: image.jpg
//
ImageIcon imageIcon = new ImageIcon((new ImageIcon("image.jpg"))
.getImage().getScaledInstance(630, 600,
java.awt.Image.SCALE_SMOOTH));
test.add(new JLabel(imageIcon));
// mostrar la ventana GUI
test.setVisible(true);
test.pack();
}
}
¿Qué podría estar causando esto?
davy.ai
El código de respuesta HTTP 403 indica que el servidor comprendió la solicitud, pero se niega a cumplirla. Esto puede deberse a varias razones, pero una causa común es que el servidor requiere autenticación o autorización para acceder al recurso solicitado.
En este caso, es probable que la clave de la API de Google Maps utilizada en la URL sea inválida o no tenga los permisos necesarios para acceder al recurso solicitado. El desarrollador debe verificar que la clave de la API se haya ingresado correctamente y que tenga los permisos requeridos para usar la API de Google Maps.