我正在使用YouTube API v3搜索YouTube。
https://developers.google.com/youtube/v3/docs/search
如您所见,响应JSON不包含视频时长。有没有办法获得视频时长?
最好不要再为结果中的每个元素调用API(除非这是获取持续时间的唯一方法)。
进行搜索调用后,您将必须调用YouTube数据API的视频资源。您最多可以在搜索中输入50个视频ID,因此不必为每个元素都调用它。
https://developers.google.com/youtube/v3/docs/videos/list
您需要设置part=contentDetails,因为持续时间在那里。
part=contentDetails
例如,以下调用:
https://www.googleapis.com/youtube/v3/videos?id=9bZkp7q19f0&part=contentDetails&key={YOUR_API_KEY}
给出以下结果:
{ "kind": "youtube#videoListResponse", "etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/ny1S4th-ku477VARrY_U4tIqcTw\"", "items": [ { "id": "9bZkp7q19f0", "kind": "youtube#video", "etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/HN8ILnw-DBXyCcTsc7JG0z51BGg\"", "contentDetails": { "duration": "PT4M13S", "dimension": "2d", "definition": "hd", "caption": "false", "licensedContent": true, "regionRestriction": { "blocked": [ "DE" ] } } } ] }
时间格式为ISO 8601字符串。PT代表时间,4M是4分钟,13S是13秒。