es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for 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.

Comments are closed.