Как проверить, существует ли видео YouTube с помощью API YouTube в Java? - PullRequest
1 голос
/ 01 апреля 2020

Я ищу какую-либо форму логической функции, которая принимает ссылку на видео на YouTube или ID и возвращает, существует ли видео, например:

if(!videoExists(youtube.com/testvideo)) {
    print("Error - video does not exist")
}

Возможно ли это вообще? ? Спасибо.

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете использовать Видео: список и указать идентификатор видео для получения видеоинформации для указанного c видео. Например:

YouTube youtube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(),
        new HttpRequestInitializer() {
            public void initialize(HttpRequest request) throws IOException {
            }
        }).setApplicationName("video-test").build();

String videoId = "Mp-oorqKnjR";
YouTube.Videos.List videoRequest = youtube.videos().list("snippet,statistics,contentDetails");
videoRequest.setId(videoId);
videoRequest.setKey("<YOUR_API_KEY>");
VideoListResponse listResponse = videoRequest.execute();
List<Video> videoList = listResponse.getItems();

Video targetVideo = videoList.iterator().next();

затем go over targetVideo будет содержать информацию, связанную с вашим видео. Вы можете получить такую ​​информацию, как заголовок, количество просмотров и длительность от этого объекта, я думаю, что если видео не существует, у вас будет какая-то пустая или какая-то пустая форма объекта, из которой вы могли бы определить существование видео.

импорт:

import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.youtube.YouTube;
import com.google.api.services.youtube.model.Video;
import com.google.api.services.youtube.model.VideoListResponse;
...