YouTube API -获得标签的所有视频与播放列表查询



我正在查询YouTube频道以检索播放列表元数据,如下所示:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=5&playlistId={PLAYLIST_ID}&key={API_KEY}

这个查询返回该频道上所有视频的数组。该数组中的每个对象都包含各种字段,这些字段提供每个视频的元数据,但这些字段都不包含与视频相关的标签。我可以使用这样的查询来获取这些数据:

https://www.googleapis.com/youtube/v3/videos?key={API_KEY}&fields=items(snippet(title,description,tags))&part=snippet&id={VIDEO_ID}

这样做的问题是,现在我需要对第一个查询中返回的每个视频发出单独的查询。

所以,我的问题是,有没有一种方法,我可以从第一个查询中获得这些标签作为初始JSON对象的一部分?我可以添加任何参数来请求将此数据包含在响应中吗?

谢谢你的帮助!

简短的回答:没有。

PlaylistItems: list文档没有显示从playlistItems端点获取视频标签的方法。唯一可用的部件是id, snippet, statuscontentDetails,它们都不包含标签。

然而

!

您不必为播放列表中的每个视频提出请求!文档说明:

id参数指定要检索的资源的YouTube视频id的逗号分隔列表。在视频资源中,id属性指定视频的id。(字符串)

这意味着您可以向videos端点提供多个逗号分隔的视频id。

的例子:

GET https://www.googleapis.com/youtube/v3/videos?part=snippet&id=kOkQ4T5WO9E,a59gmGkq_pw,Io0fBr1XBUA&key={YOUR_API_KEY}

所以总的来说,它将花费你两次请求来获得播放列表中所有视频的标签。*

*在实践中,您可能需要发出两个以上的请求。如果我没记错的话,YouTube将每次请求最多退回50个项目。因此,如果播放列表包含超过50个视频,则必须使用pageToken参数集再次发出请求。

相关内容

  • 没有找到相关文章

最新更新