我正在使用YouTube API v3搜索YouTube .
https://developers.google.com/youtube/v3/docs/search
如您所见,响应JSON不包含视频持续时间 . 有没有办法获得视频时长?
最好不再为结果中的每个元素调用API(除非这是获取持续时间的唯一方法) .
我正在使用YouTube API v3搜索YouTube .
https://developers.google.com/youtube/v3/docs/search
如您所见,响应JSON不包含视频持续时间 . 有没有办法获得视频时长?
最好不再为结果中的每个元素调用API(除非这是获取持续时间的唯一方法) .
5 回答
拨打电话后,您必须拨打YouTube数据API的视频资源 . 您可以在搜索中放置最多50个视频ID,因此您无需为每个元素调用它 .
https://developers.google.com/youtube/v3/docs/videos/list
你需要设置
part=contentDetails
,因为持续时间就在那里 .例如,以下调用:
给出这个结果:
时间格式为ISO 8601字符串 . PT代表时间持续时间,4M是4分钟,13S是13秒 .
我知道了!
在那里它返回YouTube API版本3的时间(密钥按顺序组成;) . 我使用了
$vId
,我从 Channels 中返回的视频列表中显示了来自...的视频它的工作原理...... :)谷歌真的需要在片段中包含持续时间,这样你就可以通过一个电话而不是两个来获得它......叹息.......它在他们的'wontfix'列表中 .
我编写了以下课程,以使用YouTube API v3获取YouTube视频时长(它还会返回缩略图):
请注意,您需要API_KEY才能使用YouTube API:
在这里创建一个新项目:https://console.developers.google.com/project
在"APIs & auth" - > API下启用"YouTube Data API"
在"APIs & auth" - >凭据下创建新的服务器密钥
此代码通过传递视频ID,使用YouTube API v3提取YouTube视频时长 . 它对我有用 .
您可以在https://console.developers.google.com上获取域名自己的YouTube API密钥,并根据自己的要求生成凭据 .
使用Python 2.7和YouTube API v3的持续时间(以秒为单位):