gpt4 book ai didi

java - 如何通过 Youtube API v3 YouTube.PlaylistItems.List 请求检索视频的时长?

转载 作者:行者123 更新时间:2023-12-01 17:29:43 25 4
gpt4 key购买 nike

我正在使用 Youtube API v3 (Java) 访问 Youtube 视频、播放列表。下面是示例代码:

YouTube.PlaylistItems.List request = 
youtube.playlistItems().list("id,contentDetails,snippet");
request.setPlaylistId(/*playlist id*/);
request.setFields("items(contentDetails/videoId,snippet/title,snippet/publishedAt,
snippet/description),nextPageToken,pageInfo");

PlaylistItemListResponse result = request.execute();

现在我可以从播放列表中获取每个视频的标题,如下所示:

for (PlaylistItem item : result.getItems()) {
item.getSnippet().getTitle();
// But how can I retrieve a duration now?
}

我尝试了不同的方法来检索视频的持续时间,但它们都返回 null。我如何获得持续时间?

最佳答案

视频时长可以在 .videos().list()contentDetails 部分中找到。不幸的是,您可以通过 PlayListItem 获取视频持续时间,如您的示例中所示,您只能获取 video_id

因此,您可以提取播放列表中的所有 video_id 并进行额外的调用来接收视频数据,例如:

https://www.googleapis.com/youtube/v3/videos?id=9bZkp7q19f0&part=contentDetails&key={YOUR_API_KEY}

结果,你会得到类似的结果:

"contentDetails": {
"duration": "PT4M13S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": true,
"regionRestriction": {
"blocked": [
"DE"
]
}

里面有一个字段duration

您可以使用所有 YouTube API here

关于java - 如何通过 Youtube API v3 YouTube.PlaylistItems.List 请求检索视频的时长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61145082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com