我正在查询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
,status
并且contentDetails
和那些都包含标签。
然而!
您不必要求播放列表中的每个视频!该文档指出:
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
参数集再次提出请求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句