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

时间:2015-06-01 06:53:18

标签: java youtube-api

例如,给定链接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的新手。感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用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会保存与您的视频相关的信息。您可以从此对象获取标题,查看次数和持续时间等信息:

    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;