看看这个link,有一个例子
https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=YOUR_API_KEY
&part=snippet,contentDetails,statistics,status
部分回应是
"contentDetails": {
"duration": "PT15M51S",
"aspectRatio": "RATIO_16_9"
},
现在,我想检索contentDetails或主要是工期。所以我调用
https://www.googleapis.com/youtube/v3/search?part=snippet,contentDetails&key=[API_KEY]&q=something&maxResults=15&&fields=items,nextPageToken,prevPageToken,tokenPagination
表明
{
error: {
errors: [
{
domain: "youtube.part",
reason: "unknownPart",
message: "contentDetails",
locationType: "parameter",
location: "part"
}
],
code: 400,
message: "contentDetails"
}
}
为什么?我想念什么?如何获取视频的时长?
最佳答案
如您所知,Search:list调用不支持part参数的contentDetails。
您可以在Search:list的参数值中包括的零件名称是id和snippet,而这些零件名称返回的数据很少。如果我们想在一个或多个视频中获取更具体的数据,则应该在搜索中使用很少的数据。
因此,要在搜索时获得视频时长,您必须像
GET https://www.googleapis.com/youtube/v3/search?part=id&q=anything&key={YOUR_API_KEY}
并从响应项中提取videoId
"id": {
"kind": "youtube#video",
"videoId": "5hzgS9s-tE8"
}
并使用它进行“视频:列表”调用以获取更具体的数据
https://www.googleapis.com/youtube/v3/videos?id=5hzgS9s-tE8&key=YOUR_API_KEY&part=snippet,contentDetails,statistics,status
并从响应数据中提取持续时间
"contentDetails": {
"duration": "PT15M51S",
"aspectRatio": "RATIO_16_9"
},
关于youtube - contentDetails或持续时间未使用Youtube v3 api,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27393842/