文章目录
- 功能说明,依赖配置
- 代码实现
一、youtube 依赖+ youtubeapikey
功能说明:此youtubeapi 为https://www.googleapis.com/youtube/v3,通过单个youtube视频播放链接来获取此视频的其他一些具体参数,或者通过youtube合辑视频链接调用api后以获取到此合辑下的所有的视频的具体信息。
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-youtube</artifactId>
<version>v3-rev182-1.22.0</version>
</dependency>
<!-- Required for any code that makes calls to the YouTube Reporting API -->
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-youtubereporting</artifactId>
<version>v1-rev10-1.22.0</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-youtubeAnalytics</artifactId>
<version>v2-rev272-1.25.0</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-youtube</artifactId>
<version>v3-rev182-1.22.0</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-youtubereporting</artifactId>
<version>v1-rev10-1.22.0</version>
</dependency>在调用youtubeapi之前,需要在google云平台创建一个自己的账号,并且开通youtubev3服务,才有权限去访问youtubeapi。
云平台:https://console.developjers.google.com/apis/api/youtube.googleapis.com
进入首页直接搜youtube,出现以下 结果,选择v3版本

点击,启动该api,启用后进入api首页,左侧列表最下方创建一个凭据,创建完了之后就会获得一个自己的api密钥,如下图所示。

二、代码实现
1.引入库
进入youtube官方的开发人员页面可以看到左边list中有对视频各种详细的视频相关信息获取的功能说明,playlistitems就是通过合辑url去获得合辑下每一个视频的信息。这里只对playlistitem的用法进行说明。

可以看到playlistitem下面支持的四种方法,list,insert,update,delete,对应的是对合辑下面单个视频的增删改查。
点击进入list可以看见中间有几个比较重要的参数,以及右边有一个对应的调用模拟器.其中可以看见part参数下面有四个类型,contentdetails,id,snippet,status,这四个参数代表着你调完youtubeapi之后会获取到那些信息.其中contentdetails中包含了合计下单个的视频id,以及视频发布时间,id代表合辑id,snippet包含了单个视频的描述,缩略图,视频所在频道id,status代表了视频的隐私性,youtube视频分为public和private,private则代表此视频只能在youtube上播放。

通过设置part参数,以及在playlistid框中输入listid,点击execute,可以看到以下返回信息,对应了上述的参数说明。


listid就是youtube播放链接中list=后面的参数
2.代码实现
进入该方法的代码说明,可以看到各个语言版本的代码实现 ,这里可以通过官方的代码实现,也可以官方提供HTTP访问方式,然后直接通过okhttp吧拼接参数按照官方示例拼接好然后直接访问youtubeapi,过程更为简洁,代码量最小
官方java代码

okhttp

参数拼接:最后的apikey则是对应你自己刚刚创建的api密钥
String youtubeUrl = "https://youtube.googleapis.com/youtube/v3/playlistItems?part=id&part=contentDetails&part=snippet&maxResults=999&playlistId=" + listId + "&key=" + youtubeApiKey;