YouTube API - 通过播放列表查询获取所有视频的标签

2024-01-08

我正在查询 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 对象的一部分包含在内?我可以添加任何参数来请求该数据包含在该响应中吗?

谢谢你的帮助!


简短回答:不。

The PlaylistItems: list文档 https://developers.google.com/youtube/v3/docs/playlistItems/list没有显示从 获取视频标签的方法playlistItems端点。唯一可用的部件是id, snippet, status and contentDetails并且这些都不包含标签。

However!

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

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

这意味着您可以向videos端点。

Example:

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

因此,总共需要两次请求才能获取播放列表中所有视频的标签。*

*实际上,您可能需要提出两个以上的请求。如果我没记错的话,YouTube 将每个请求退回的项目限制为 50 个。因此,如果播放列表包含超过 50 个视频,您将必须向pageToken范围 https://developers.google.com/youtube/v3/docs/playlistItems/list#pageToken set.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YouTube API - 通过播放列表查询获取所有视频的标签 的相关文章

随机推荐