在给定 URL 的情况下从 YouTube 视频中检索详细信息

Retrieving details from a YouTube video given the URL

例如,假设 link https://www.youtube.com/watch?v=Hl-zzrqQoSE 这是一个关于安装 Java JDK 的视频。

使用 Java 和 YouTube-API,如何获取长度、标题和观看次数等信息?

我查看并找到 https://developers.google.com/youtube/2.0/developers_guide_protocol_video_entries 但它已经过时,我不确定如何使用它。

原谅我的无知,因为我是 Java 的新手。谢谢

您可以使用 Videos:List 并指定视频 ID 来检索特定视频的视频信息。例如:

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

final String videoId = "Hl-zzrqQoSE";
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();

targetVideo 将保存与您的视频相关的信息。您可以从此 object:

获取标题、观看次数和持续时间等信息
    targetVideo.getSnippet().getTitle();
    targetVideo.getStatistics().getViewCount();
    targetVideo.getContentDetails().getDuration();

需要以下导入:

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;

import java.io.IOException;
import java.util.List;