3
respostas

Problema com a API Key

Não consigo fazer a requisição do filme por meio do scanner por conta da API Key não receber o nome do filme em seu formato, o que posso fazer?

    Scanner leitura = new Scanner(System.in);
    System.out.println("Entre com o filme que deseja buscar: ");
    var busca = leitura.nextLine();
    String endereco = "https://www.omdbapi.com/?i" + busca + "&apikey=MINHASENHA";

    HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(endereco))
            .build();
    HttpResponse<String> response = client
            .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.body());
}

}

Ao rodar o código acima, o seguinte erro ocorre:

Entre com o filme que deseja buscar: matrix {"Response":"False","Error":"Incorrect IMDb ID."}

Passo o valor "matrix" a variável "busca" para que então eu consiga resgatar os dados do filme, o que não ocorre.

3 respostas

Oi Cauã, tudo bem?

Olhando no site da API do OMDb, quando fazemos a requisição, utilizamos o endereço "http://www.omdbapi.com/?t=matrix". No seu código, a String endereco está assim:

String endereco = "https://www.omdbapi.com/?i" + busca + "&apikey=SUASENHA";

Acredito que, o correto seria adicionar o sinal de igual:

String endereco = "https://www.omdbapi.com/?i=" + busca + "&apikey=SUASENHA";

Caso não seja isso, pode ser algo com o parâmetro, sugiro fazer um teste com os parâmetros disponíveis também no site: https://www.omdbapi.com/.

Olá Camila, tudo certo!

Adicionei o sinal de igual e o erro continuou ocorrendo, logo, entrei no site https://www.omdbapi.com/. e descobri que o problema estava no próprio endereço:

String endereco = "https://www.omdbapi.com/?i=" + busca + "&apikey=MINHASENHA";

E então troquei "?i" por "?t":

 String endereco = "https://www.omdbapi.com/?t=" + busca + "&apikey=MINHASENHA";

Dessa forma, consegui realizar a requisição de um filme pelo seu nome após adicionar a letra "t".

Não sei ao certo se funciona dessa maneira, mas o "t" puxa o filme pelo seu nome enquanto o "i" puxa o filme pelo seu id.

Obrigado Camila xD

Era exatamente isso, a segunda solução que dei funfou então! Hehe. Bons estudos!