如何使用 Java API 访问 YouTube 观看次数
Posted
技术标签:
【中文标题】如何使用 Java API 访问 YouTube 观看次数【英文标题】:How to access YouTube view count with Java API 【发布时间】:2021-04-12 13:56:41 【问题描述】:我发现 this answer 显示了如何使用 Java YouTube API 获取视频的观看次数,但很明显,在过去 7 年左右的时间里,有些事情肯定发生了变化,因为我无法弄清楚代码。
这一行
YouTube.Videos.List list = youtube.videos().list("statistics");
在 Eclipse 中产生错误,因为 Videos
类中的 list
方法(至少在当前 API 版本中)具有 List<String>
not String
类型的参数...所以有人可以告诉我如何使用当前 API 实现我的目标,因为上面链接的代码由于 API 的更改而无效?
编辑:这是我在 pom.xml
文件中定义 YouTube API 的依赖项的方式
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-youtube</artifactId>
<version>v3-rev20201202-1.31.0</version>
</dependency>
【问题讨论】:
确实,当使用生成的Java库Google Java API Client Services——特别是that corresponding to YouTube Data API——时,list
方法的规范正如Eclipse所示。
并不是说这对您(作为客户端库的用户)很重要,但事实上 YouTube 数据 API 的 Videos.list
端点有其请求参数 part
类型为 string
(其中的值被指定为一个或多个视频资源属性的逗号分隔列表)。客户端库将这个请求参数的类型抽象为List<String>
。
那么,我如何获取最新 API 版本的观看次数呢?比如,那我应该将什么传递给list
方法?我链接的问题中的旧版本有String
“统计信息”,我应该把它放在List
中并通过它还是我错了?
将part
参数设置为:Arrays.asList("statistics")
。
是的,我让程序工作了!我也必须使用Arrays.asList
作为list.setId
方法的参数。
【参考方案1】:
感谢 stvar 的一点帮助,当然还有我在问题中链接到的旧问题,我想出了我需要做什么。这是工作代码:
import java.io.IOException;
import java.util.Arrays;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.services.youtube.*;
import com.google.api.services.youtube.model.Video;
public class Main
public static void main(String[] args) throws IOException
YouTube youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer()
public void initialize(HttpRequest request) throws IOException
).setApplicationName("youtube-view-count-test").build();
YouTube.Videos.List list = youtube.videos().list(Arrays.asList("statistics"));
list.setId(Arrays.asList("kffacxfA7G4"));
String apiKey = "[redacted]";
list.setKey(apiKey);
Video v = list.execute().getItems().get(0);
System.out.println("The view count is: "+v.getStatistics().getViewCount());
我的代码中使用的 Auth
类取自 here,它是 Google 的 API 示例的一部分
【讨论】:
以上是关于如何使用 Java API 访问 YouTube 观看次数的主要内容,如果未能解决你的问题,请参考以下文章
Youtube 数据 API : 获取媒体流和播放 (JAVA)
如何使用 Youtube API 访问特定播放列表中的所有视频?
如何使用 YouTube Java API 通过主题标签获取随机视频
我如何访问 youtube api v3 私人播放列表 [关闭]