Как подключиться к TMDB API

Вот мой ключ API: 7b5e30851a9285340e78c201c4e4ab99

И я пытаюсь подключиться к TMDB API: вот мой код:

package movieDBapiconnnection;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class connection {

    public static void main(String[] args) throws Exception{
            URL url = new URL("http://api.themoviedb.org/3/movie/550?api_key=7b5e30851a9285340e78c201c4e4ab99/3/movie/550");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setDoOutput(true);
            con.setRequestMethod("GET");
            con.setRequestProperty("Content-Type", "application/json");

            BufferedReader br = new BufferedReader(new InputStreamReader((con.getInputStream())));

            String output;
            System.out.println("Output from Server .... \n");
            while ((output = br.readLine()) != null) {
                System.out.println(output);
            }
    }
}

Но это всегда показывает мне ошибку, которая:

Исключение в потоке "main" java.io.IOException: сервер вернул код ответа HTTP: 401 для URL: http://api.themoviedb.org/3/movie/550?api_key=7b5e30851a9285340e78c201c4e4ab99/3/movie/550 на солнце.NET.www.protocol.http.HttpURLConnection.getInputStream(неизвестный источник) в movieDBapiconnnection.connection.main(connection.java:17)

4 ответа

Во-первых, я бы использовал оболочку TMDB. Получите оболочку Java по адресу: https://github.com/Omertron/api-themoviedb. Используйте полностью проверенную и опробованную оболочку, а не пытайтесь подключиться к ней и создавать свои модели с нуля. Обычно в оболочке, когда вы создаете экземпляр класса, вы передаете ключ API в конструктор, а оболочка делает все остальное.

Ваша ошибка просто из-за лишних символов в параметре ключа API

http://api.themoviedb.org/3/movie/550?api_key=7b5e30851a9285340e78c201c4e4ab99/3/movie/550

удалите / 3 / movie / 550, так как это всего лишь опечатка, поэтому правильный

http://api.themoviedb.org/3/movie/550?api_key=7b5e30851a9285340e78c201c4e4ab99

Примечание. Измените 7b5e30851a9285340e78c201c4e4ab99 на правильный ключ API.

Попробуйте сетевую часть в фоновом потоке. использование основного потока для операций такого типа, скорее всего, приведет к аналогичной ошибке. используйте AsynchTask и doInBackground() для достижения этой цели.

Вы передали неправильный URL, передайте этот URL " http://api.themoviedb.org/3/movie/550?api_key=7b5e30851a9285340e78c201c4e4ab99

URL url = new URL("http://api.themoviedb.org/3/movie/550?api_key=7b5e30851a9285340e78c201c4e4ab99");
Другие вопросы по тегам